DD4hep  1.28.0
Detector Description Toolkit for High Energy Physics
Classes | Public Types | Public Member Functions | List of all members
dd4hep::align::AlignmentsCalculator Class Reference

Alignment calculator instance to handle alignment dependencies. More...

#include <AlignmentsCalculator.h>

Classes

class  PathOrdering
 Functor for path ordered maps as they are needed for the calculator. More...
 
class  Result
 Object encapsulating the result of a computation call to the alignments calculator. More...
 
class  Scanner
 Scanner to find all alignment deltas in the detector hierarchy. More...
 

Public Types

typedef std::map< DetElement, const Delta *, PathOrderingOrderedDeltas
 
typedef std::map< Condition::key_type, DetElementExtractContext
 

Public Member Functions

 AlignmentsCalculator ()=default
 Default constructor. More...
 
 AlignmentsCalculator (const AlignmentsCalculator &copy)=delete
 Copy constructor. More...
 
AlignmentsCalculatoroperator= (const AlignmentsCalculator &mgr)=delete
 Assignment operator. More...
 
Result compute (const std::map< DetElement, Delta > &deltas, ConditionsMap &alignments) const
 Compute all alignment conditions of the internal dependency list. More...
 
Result compute (const std::map< DetElement, const Delta * > &deltas, ConditionsMap &alignments) const
 Compute all alignment conditions of the internal dependency list. More...
 
Result compute (const OrderedDeltas &deltas, ConditionsMap &alignments) const
 Optimized call using already properly ordered Deltas. More...
 
size_t extract_deltas (cond::ConditionUpdateContext &context, OrderedDeltas &deltas, IOV *effective_iov=0) const
 Helper: Extract all Delta-conditions from the conditions map. More...
 
size_t extract_deltas (DetElement start, cond::ConditionUpdateContext &ctxt, OrderedDeltas &deltas, IOV *effective_iov=0) const
 Helper: Extract all Delta-conditions from the conditions map starting at a certain sub-tree. More...
 
size_t extract_deltas (cond::ConditionUpdateContext &context, ExtractContext &extract_context, OrderedDeltas &deltas, IOV *effective_iov=0) const
 Helper: Extract all Delta-conditions from the conditions map. More...
 
size_t extract_deltas (DetElement start, cond::ConditionUpdateContext &ctxt, ExtractContext &extract_context, OrderedDeltas &deltas, IOV *effective_iov=0) const
 Helper: Extract all Delta-conditions from the conditions map starting at a certain sub-tree. More...
 

Detailed Description

Alignment calculator instance to handle alignment dependencies.

Author
M.Frank
Version
1.0

Definition at line 36 of file AlignmentsCalculator.h.

Member Typedef Documentation

◆ ExtractContext

Definition at line 76 of file AlignmentsCalculator.h.

◆ OrderedDeltas

Definition at line 75 of file AlignmentsCalculator.h.

Constructor & Destructor Documentation

◆ AlignmentsCalculator() [1/2]

dd4hep::align::AlignmentsCalculator::AlignmentsCalculator ( )
default

Default constructor.

◆ AlignmentsCalculator() [2/2]

dd4hep::align::AlignmentsCalculator::AlignmentsCalculator ( const AlignmentsCalculator copy)
delete

Copy constructor.

Member Function Documentation

◆ compute() [1/3]

Result AlignmentsCalculator::compute ( const OrderedDeltas deltas,
ConditionsMap alignments 
) const

Optimized call using already properly ordered Deltas.

Definition at line 202 of file AlignmentsCalculator.cpp.

◆ compute() [2/3]

Result AlignmentsCalculator::compute ( const std::map< DetElement, const Delta * > &  deltas,
ConditionsMap alignments 
) const

Compute all alignment conditions of the internal dependency list.

Definition at line 238 of file AlignmentsCalculator.cpp.

◆ compute() [3/3]

Result AlignmentsCalculator::compute ( const std::map< DetElement, Delta > &  deltas,
ConditionsMap alignments 
) const

Compute all alignment conditions of the internal dependency list.

Definition at line 218 of file AlignmentsCalculator.cpp.

◆ extract_deltas() [1/4]

size_t AlignmentsCalculator::extract_deltas ( cond::ConditionUpdateContext context,
ExtractContext extract_context,
OrderedDeltas deltas,
IOV effective_iov = 0 
) const

Helper: Extract all Delta-conditions from the conditions map.

If the extraction context is empty, it shall be filled. On every subsequent call the existing context is used and the Delta-conditions are extracted directly using a linear scan of the conditions map. Depending on the size of the conditons map this can lead to significant speed improvements.

Definition at line 258 of file AlignmentsCalculator.cpp.

◆ extract_deltas() [2/4]

size_t AlignmentsCalculator::extract_deltas ( cond::ConditionUpdateContext context,
OrderedDeltas deltas,
IOV effective_iov = 0 
) const

Helper: Extract all Delta-conditions from the conditions map.

Definition at line 309 of file AlignmentsCalculator.cpp.

◆ extract_deltas() [3/4]

size_t AlignmentsCalculator::extract_deltas ( DetElement  start,
cond::ConditionUpdateContext ctxt,
ExtractContext extract_context,
OrderedDeltas deltas,
IOV effective_iov = 0 
) const

Helper: Extract all Delta-conditions from the conditions map starting at a certain sub-tree.

Please note: An extract_context is only valid for one sub-tree.

Constructor

Conditions callback for object processing

Definition at line 267 of file AlignmentsCalculator.cpp.

◆ extract_deltas() [4/4]

size_t AlignmentsCalculator::extract_deltas ( DetElement  start,
cond::ConditionUpdateContext ctxt,
OrderedDeltas deltas,
IOV effective_iov = 0 
) const

Helper: Extract all Delta-conditions from the conditions map starting at a certain sub-tree.

Helper: Extract all Delta-conditions from the conditions map.

Definition at line 318 of file AlignmentsCalculator.cpp.

◆ operator=()

AlignmentsCalculator& dd4hep::align::AlignmentsCalculator::operator= ( const AlignmentsCalculator mgr)
delete

Assignment operator.


The documentation for this class was generated from the following files: