#include <PedeLabeler.h>
Public Member Functions | |
Alignable * | alignableFromLabel (unsigned int label) const |
unsigned int | alignableLabel (Alignable *alignable) const |
Return 32-bit unique label for alignable, 0 indicates failure. More... | |
unsigned int | alignableLabelFromLabel (unsigned int label) const |
alignable label from parameter label (works also for alignable label...) More... | |
unsigned int | alignableLabelFromParamAndInstance (Alignable *alignable, unsigned int param, unsigned int instance) const |
bool | hasSplitParameters (Alignable *alignable) const |
returns true if the alignable has parameters that are split into various bins More... | |
unsigned int | lasBeamIdFromLabel (unsigned int label) const |
unsigned int | lasBeamLabel (unsigned int lasBeamId) const |
unsigned int | maxNumberOfParameterInstances () const |
returns the maximum number of instances for any parameter of an Alignable* More... | |
unsigned int | numberOfParameterInstances (Alignable *alignable, int param=-1) const |
returns the number of instances for a given parameter More... | |
unsigned int | parameterLabel (unsigned int aliLabel, unsigned int parNum) const |
returns the label for a given alignable parameter number combination More... | |
unsigned int | parameterLabel (Alignable *alignable, unsigned int parNum, const AlignmentAlgorithmBase::EventInfo &eventInfo, const TrajectoryStateOnSurface &tsos) const |
unsigned int | paramNumFromLabel (unsigned int paramLabel) const |
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label More... | |
PedeLabeler (const PedeLabelerBase::TopLevelAlignables &alignables, const edm::ParameterSet &config) | |
constructor from three Alignables (null pointers allowed ) More... | |
~PedeLabeler () | |
destructor More... | |
Public Member Functions inherited from PedeLabelerBase | |
virtual void | addCalibrations (const std::vector< IntegratedCalibrationBase * > &iCals) |
tell labeler to treat also integrated calibrations More... | |
virtual unsigned int | calibrationLabel (const IntegratedCalibrationBase *calib, unsigned int paramNum) const |
label for parameter 'paramNum' (counted from 0) of an integrated calibration More... | |
virtual std::pair < IntegratedCalibrationBase *, unsigned int > | calibrationParamFromLabel (unsigned int label) const |
virtual unsigned int | firstFreeLabel () const |
unsigned int | parameterInstanceOffset () const |
offset in labels between consecutive parameter instances of Alignable*s More... | |
PedeLabelerBase (const TopLevelAlignables &alignables, const edm::ParameterSet &config) | |
constructor from three Alignables (null pointers allowed ) More... | |
virtual const RunRange & | runRangeFromLabel (unsigned int label) const |
virtual | ~PedeLabelerBase () |
Private Types | |
typedef std::map< Alignable *, unsigned int > | AlignableToIdMap |
typedef AlignableToIdMap::value_type | AlignableToIdPair |
typedef std::map< unsigned int, Alignable * > | IdToAlignableMap |
typedef std::map< unsigned int, unsigned int > | UintUintMap |
Private Member Functions | |
unsigned int | buildMap (const std::vector< Alignable * > &alis) |
returns size of map More... | |
unsigned int | buildReverseMap () |
returns size of map More... | |
Private Attributes | |
AlignableToIdMap | theAlignableToIdMap |
IdToAlignableMap | theIdToAlignableMap |
providing unique ID for alignable, space for param IDs More... | |
UintUintMap | theLabelToLasBeamMap |
labels for las beams More... | |
UintUintMap | theLasBeamToLabelMap |
reverse map More... | |
Additional Inherited Members | |
Public Types inherited from PedeLabelerBase | |
typedef AlignmentAlgorithmBase::RunNumber | RunNumber |
typedef AlignmentAlgorithmBase::RunRange | RunRange |
typedef std::vector< RunRange > | RunRanges |
Static Public Attributes inherited from PedeLabelerBase | |
static const unsigned int | theMaxNumParam = RigidBodyAlignmentParameters::N_PARAM + 14 |
static const unsigned int | theMinLabel = 1 |
static const unsigned int | theParamInstanceOffset = 700000 |
Protected Member Functions inherited from PedeLabelerBase | |
virtual unsigned int | firstNonAlignableLabel () const |
Protected Attributes inherited from PedeLabelerBase | |
const RunRange | theOpenRunRange |
provides labels for AlignmentParameters for pede
(last update by
)
Definition at line 25 of file PedeLabeler.h.
|
private |
Definition at line 66 of file PedeLabeler.h.
|
private |
Definition at line 67 of file PedeLabeler.h.
|
private |
Definition at line 68 of file PedeLabeler.h.
|
private |
Definition at line 69 of file PedeLabeler.h.
PedeLabeler::PedeLabeler | ( | const PedeLabelerBase::TopLevelAlignables & | alignables, |
const edm::ParameterSet & | config | ||
) |
constructor from three Alignables (null pointers allowed )
Definition at line 22 of file PedeLabeler.cc.
References PedeLabelerBase::TopLevelAlignables::aliExtras_, PedeLabelerBase::TopLevelAlignables::aliMuon_, PedeLabelerBase::TopLevelAlignables::aliTracker_, buildMap(), and AlignableExtras::components().
PedeLabeler::~PedeLabeler | ( | ) |
|
virtual |
Alignable from alignable or parameter label, null if no alignable (but error only if not las beam, either!)
Implements PedeLabelerBase.
Definition at line 117 of file PedeLabeler.cc.
References alignableLabelFromLabel(), position, theIdToAlignableMap, theLabelToLasBeamMap, and PedeLabelerBase::theMinLabel.
|
virtual |
Return 32-bit unique label for alignable, 0 indicates failure.
uniqueId of Alignable, 0 if alignable not known between this ID and the next there is enough 'space' to add parameter numbers 0...nPar-1 to make unique IDs for the labels of active parameters
Implements PedeLabelerBase.
Definition at line 47 of file PedeLabeler.cc.
References Alignable::alignableObjectId(), Alignable::id(), position, and theAlignableToIdMap.
Referenced by alignableLabelFromParamAndInstance(), and parameterLabel().
|
virtual |
alignable label from parameter label (works also for alignable label...)
Implements PedeLabelerBase.
Definition at line 111 of file PedeLabeler.cc.
References paramNumFromLabel().
Referenced by alignableFromLabel(), and lasBeamIdFromLabel().
|
virtual |
uniqueId of Alignable for a given parameter index and instance, 0 if alignable not known between this ID and the next there is enough 'space' to add parameter numbers 0...nPar-1 to make unique IDs for the labels of active parameters
Implements PedeLabelerBase.
Definition at line 67 of file PedeLabeler.cc.
References alignableLabel().
|
private |
returns size of map
Definition at line 155 of file PedeLabeler.cc.
References theAlignableToIdMap, theLasBeamToLabelMap, PedeLabelerBase::theMaxNumParam, and PedeLabelerBase::theMinLabel.
Referenced by PedeLabeler().
|
private |
returns size of map
Definition at line 197 of file PedeLabeler.cc.
References combine::key, theAlignableToIdMap, theIdToAlignableMap, theLabelToLasBeamMap, and theLasBeamToLabelMap.
|
inlinevirtual |
returns true if the alignable has parameters that are split into various bins
Implements PedeLabelerBase.
Definition at line 49 of file PedeLabeler.h.
|
virtual |
las beam id from las beam or parameter label zero and error if not a valid las beam label
Implements PedeLabelerBase.
Definition at line 138 of file PedeLabeler.cc.
References alignableLabelFromLabel(), position, theLabelToLasBeamMap, and PedeLabelerBase::theMinLabel.
|
virtual |
Implements PedeLabelerBase.
Definition at line 75 of file PedeLabeler.cc.
References position, and theLasBeamToLabelMap.
|
inlinevirtual |
returns the maximum number of instances for any parameter of an Alignable*
Implements PedeLabelerBase.
Definition at line 52 of file PedeLabeler.h.
|
inlinevirtual |
returns the number of instances for a given parameter
Implements PedeLabelerBase.
Definition at line 50 of file PedeLabeler.h.
|
virtual |
returns the label for a given alignable parameter number combination
Implements PedeLabelerBase.
Definition at line 89 of file PedeLabeler.cc.
References edm::hlt::Exception, and PedeLabelerBase::theMaxNumParam.
Referenced by parameterLabel().
|
inlinevirtual |
returns the label for a given alignable parameter number combination in case the parameters are split into various instances
Implements PedeLabelerBase.
Definition at line 44 of file PedeLabeler.h.
References alignableLabel(), and parameterLabel().
|
virtual |
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label
Implements PedeLabelerBase.
Definition at line 100 of file PedeLabeler.cc.
References PedeLabelerBase::theMaxNumParam, and PedeLabelerBase::theMinLabel.
Referenced by alignableLabelFromLabel().
|
private |
Definition at line 77 of file PedeLabeler.h.
Referenced by alignableLabel(), buildMap(), and buildReverseMap().
|
private |
providing unique ID for alignable, space for param IDs
Definition at line 78 of file PedeLabeler.h.
Referenced by alignableFromLabel(), and buildReverseMap().
|
private |
labels for las beams
Definition at line 80 of file PedeLabeler.h.
Referenced by alignableFromLabel(), buildReverseMap(), and lasBeamIdFromLabel().
|
private |
reverse map
Definition at line 79 of file PedeLabeler.h.
Referenced by buildMap(), buildReverseMap(), and lasBeamLabel().