|
|
Go to the documentation of this file.
51 const DetId detId(alignable->
id());
53 edm::LogError(
"LogicError") <<
"@SUB=PedeLabeler::alignableLabel"
54 <<
"Alignable " <<
typeid(*alignable).name()
55 <<
" not in map, det/subdet/alignableStructureType = " << detId.det() <<
"/"
65 unsigned int )
const {
76 edm::LogError(
"LogicError") <<
"@SUB=PedeLabeler::lasBeamLabel"
77 <<
"No label for beam Id " << lasBeamId;
85 throw cms::Exception(
"Alignment") <<
"@SUB=PedeLabeler::parameterLabel"
86 <<
"Parameter number " << parNum <<
" out of range 0 <= num < " <<
theMaxNumParam;
88 return aliLabel + parNum;
94 edm::LogError(
"LogicError") <<
"@SUB=PedeLabeler::paramNumFromLabel"
119 edm::LogError(
"LogicError") <<
"@SUB=PedeLabeler::alignableFromLabel"
120 <<
"Alignable label " << aliLabel <<
" not in map.";
136 edm::LogError(
"LogicError") <<
"@SUB=PedeLabeler::lasBeamIdFromLabel"
137 <<
"Alignable label " << aliLabel <<
" not in map.";
148 for (
const auto& iAli : alis) {
150 allComps.push_back(iAli);
151 iAli->recursiveComponents(allComps);
156 for (
const auto& iter : allComps) {
165 unsigned int beamIds[] = {0, 10, 20, 30, 40, 50, 60, 70,
166 1, 11, 21, 31, 41, 51, 61, 71,
167 100, 110, 120, 130, 140, 150, 160, 170,
168 101, 111, 121, 131, 141, 151, 161, 171,
169 200, 210, 220, 230, 240, 250, 260, 270};
171 const size_t nBeams =
sizeof(beamIds) /
sizeof(beamIds[0]);
172 for (
size_t iBeam = 0; iBeam < nBeams; ++iBeam) {
PedeLabeler(const PedeLabelerBase::TopLevelAlignables &alignables, const edm::ParameterSet &config)
constructor from three Alignables (null pointers allowed )
AlignableTracker * aliTracker_
unsigned int buildReverseMap()
returns size of map
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
unsigned int alignableLabelFromParamAndInstance(Alignable *alignable, unsigned int param, unsigned int instance) const override
Alignable * alignableFromLabel(unsigned int label) const override
IdToAlignableMap theIdToAlignableMap
providing unique ID for alignable, space for param IDs
#define DEFINE_EDM_PLUGIN(factory, type, name)
unsigned int buildMap(const align::Alignables &)
returns size of map
unsigned int alignableLabelFromLabel(unsigned int label) const override
alignable label from parameter label (works also for alignable label...)
UintUintMap theLabelToLasBeamMap
labels for las beams
AlignableToIdMap::value_type AlignableToIdPair
AlignableToIdMap theAlignableToIdMap
align::ID id() const
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
static const unsigned int theMaxNumParam
static int position[264][3]
unsigned int paramNumFromLabel(unsigned int paramLabel) const override
parameter number, 0 <= .. < theMaxNumParam, belonging to unique parameter label
unsigned int parameterLabel(unsigned int aliLabel, unsigned int parNum) const override
returns the label for a given alignable parameter number combination
~PedeLabeler() override
destructor
AlignableExtras * aliExtras_
unsigned int lasBeamLabel(unsigned int lasBeamId) const override
std::vector< Alignable * > Alignables
static const unsigned int theMinLabel
UintUintMap theLasBeamToLabelMap
reverse map
unsigned int lasBeamIdFromLabel(unsigned int label) const override
unsigned int alignableLabel(Alignable *alignable) const override
Return 32-bit unique label for alignable, 0 indicates failure.