CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
AlignableMuon Class Reference

Constructor of the full muon geometry. More...

#include <AlignableMuon.h>

Inheritance diagram for AlignableMuon:
AlignableComposite Alignable

Public Member Functions

 AlignableMuon (const DTGeometry *, const CSCGeometry *, const GEMGeometry *)
 Constructor from geometries. More...
 
const align::Alignablescomponents () const final
 Return all components. More...
 
AlignmentErrorsExtendedcscAlignmentErrorsExtended ()
 Get CSC alignment errors sorted by DetId. More...
 
AlignmentscscAlignments ()
 Get CSC alignments sorted by DetId. More...
 
align::Alignables CSCChambers ()
 
align::Alignables CSCEndcaps ()
 
align::Alignables CSCLayers ()
 
align::Alignables CSCRings ()
 
align::Alignables CSCStations ()
 
AlignmentErrorsExtendeddtAlignmentErrorsExtended ()
 Get DT alignment errors sorted by DetId. More...
 
AlignmentsdtAlignments ()
 Get DT alignments sorted by DetId. More...
 
align::Alignables DTBarrel ()
 
align::Alignables DTChambers ()
 
align::Alignables DTLayers ()
 Methods to return specific of components. More...
 
align::Alignables DTStations ()
 
align::Alignables DTSuperLayers ()
 
align::Alignables DTWheels ()
 
AlignmentErrorsExtendedgemAlignmentErrorsExtended ()
 
AlignmentsgemAlignments ()
 
align::Alignables GEMChambers ()
 
align::Alignables GEMEndcaps ()
 
align::Alignables GEMEtaPartitions ()
 
align::Alignables GEMRings ()
 
align::Alignables GEMStations ()
 
align::Alignables GEMSuperChambers ()
 
virtual Alignablemother ()
 Alignable tracker has no mother. More...
 
const AlignableObjectIdobjectIdProvider () const
 Return muon alignable object ID provider derived from the muon system geometry. More...
 
void update (const DTGeometry *, const CSCGeometry *, const GEMGeometry *)
 
 ~AlignableMuon () override
 Destructor. More...
 
- Public Member Functions inherited from AlignableComposite
void addAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown) override
 
void addAlignmentPositionErrorFromLocalRotation (const RotationType &rotation, bool propagateDown) override
 
void addAlignmentPositionErrorFromRotation (const RotationType &rotation, bool propagateDown) override
 
void addComponent (Alignable *component) final
 
void addSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown) override
 
 AlignableComposite (align::ID id, StructureType aType, const RotationType &rot=RotationType())
 
StructureType alignableObjectId () const override
 Return the alignable type identifier. More...
 
void dump () const override
 Recursive printout of alignable structure. More...
 
void move (const GlobalVector &displacement) override
 Move with respect to the global reference frame. More...
 
virtual void moveComponentLocal (const int i, const LocalVector &localDisplacement)
 Move a single component with respect to the local reference frame. More...
 
virtual void moveComponentsLocal (const LocalVector &localDisplacement)
 Move with respect to the local reference frame. More...
 
void recursiveComponents (Alignables &result) const override
 Provide all components, subcomponents etc. (cf. description in base class) More...
 
void rotateInGlobalFrame (const RotationType &rotation) override
 Rotation interpreted in global reference frame. More...
 
void setAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown) override
 
void setSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown) override
 Set the surface deformation parameters - if (!propagateDown) do not affect daughters. More...
 
int surfaceDeformationIdPairs (std::vector< std::pair< int, SurfaceDeformation * > > &) const override
 Return surface deformations. More...
 
void update (align::ID, StructureType aType, const RotationType &rot=RotationType())
 
 ~AlignableComposite () override
 deleting its components More...
 
- Public Member Functions inherited from Alignable
 Alignable (align::ID, const AlignableSurface &)
 
 Alignable (align::ID, const RotationType &)
 
AlignmentParametersalignmentParameters () const
 Get the AlignmentParameters. More...
 
virtual void cacheTransformation ()
 cache the current position, rotation and other parameters (e.g. surface deformations), also for possible components More...
 
virtual void cacheTransformation (const align::RunNumber &)
 
virtual CompConstraintType compConstraintType () const
 Return the alignable type of contraints wrt. its components. More...
 
const AlignablesdeepComponents () const
 
const GlobalVectordisplacement () const
 Return change of the global position since the creation of the object. More...
 
bool firstCompsWithParams (Alignables &paramComps) const
 
const DetIdgeomDetId () const
 
const PositionTypeglobalPosition () const
 Return the global position of the object. More...
 
const RotationTypeglobalRotation () const
 Return the global orientation of the object. More...
 
align::ID id () const
 Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit). More...
 
bool lastCompsWithParams (Alignables &paramComps) const
 
Alignablemother () const
 Return pointer to container alignable (if any) More...
 
virtual void recenterSurface ()
 Recenter surface object without moving possible components. More...
 
virtual void restoreCachedTransformation ()
 restore the previously cached transformation, also for possible components More...
 
virtual void restoreCachedTransformation (const align::RunNumber &)
 
virtual void rotateAroundGlobalAxis (const GlobalVector &axis, Scalar radians)
 Rotation around arbitratry global axis. More...
 
virtual void rotateAroundGlobalX (Scalar radians)
 Rotation around global x-axis. More...
 
virtual void rotateAroundGlobalY (Scalar radians)
 Rotation around global y-axis. More...
 
virtual void rotateAroundGlobalZ (Scalar radians)
 Rotation around global z-axis. More...
 
virtual void rotateAroundLocalAxis (const LocalVector &axis, Scalar radians)
 Rotation around arbitratry local axis. More...
 
virtual void rotateAroundLocalX (Scalar radians)
 Rotation around local x-axis. More...
 
virtual void rotateAroundLocalY (Scalar radians)
 Rotation around local y-axis. More...
 
virtual void rotateAroundLocalZ (Scalar radians)
 Rotation around local z-axis. More...
 
virtual void rotateInLocalFrame (const RotationType &rotation)
 Rotation intepreted in the local reference frame. More...
 
const RotationTyperotation () const
 Return change of orientation since the creation of the object. More...
 
void setAlignmentParameters (AlignmentParameters *dap)
 Set the AlignmentParameters. More...
 
void setMother (Alignable *mother)
 Assign mother to alignable. More...
 
void setSurvey (const SurveyDet *)
 Set survey info. More...
 
int size () const
 Return number of direct components. More...
 
const AlignableSurfacesurface () const
 Return the Surface (global position and orientation) of the object. More...
 
AlignmentSurfaceDeformationssurfaceDeformations () const
 Return surface deformations, sorted by DetId. More...
 
const SurveyDetsurvey () const
 Return survey info. More...
 
void update (align::ID, const AlignableSurface &)
 
virtual ~Alignable ()
 Destructor. More...
 

Private Member Functions

AlignmentErrorsExtendedalignmentErrors () const override
 Get alignment errors sorted by DetId. More...
 
Alignmentsalignments () const override
 Get alignments sorted by DetId. More...
 
void buildCSCEndcap (const CSCGeometry *, bool update=false)
 Build muon end caps. More...
 
void buildDTBarrel (const DTGeometry *, bool update=false)
 Build muon barrel. More...
 
void buildGEMEndcap (const GEMGeometry *, bool update=false)
 
RotationType computeOrientation ()
 Get the global orientation (no rotation by default) More...
 
PositionType computePosition ()
 Get the position (centered at 0 by default) More...
 
AlignableSurface computeSurface ()
 Get the Surface. More...
 
void recursiveSetMothers (Alignable *alignable)
 Set mothers recursively. More...
 

Private Attributes

const AlignableObjectId alignableObjectId_
 alignable object ID provider More...
 
std::vector< AlignableCSCChamber * > theCSCChambers
 
std::vector< AlignableCSCEndcap * > theCSCEndcaps
 
std::vector< AlignableCSCRing * > theCSCRings
 
std::vector< AlignableCSCStation * > theCSCStations
 
std::vector< AlignableDTBarrel * > theDTBarrel
 
std::vector< AlignableDTChamber * > theDTChambers
 Containers of separate components. More...
 
std::vector< AlignableDTStation * > theDTStations
 
std::vector< AlignableDTWheel * > theDTWheels
 
std::vector< AlignableGEMEndcap * > theGEMEndcaps
 
std::vector< AlignableGEMRing * > theGEMRings
 
std::vector< AlignableGEMStation * > theGEMStations
 
std::vector< AlignableGEMSuperChamber * > theGEMSuperChambers
 
align::Alignables theMuonComponents
 

Additional Inherited Members

- Public Types inherited from Alignable
typedef align::Alignables Alignables
 
enum  CompConstraintType { CompConstraintType::NONE, CompConstraintType::POSITION, CompConstraintType::POSITION_Z }
 
typedef align::GlobalVector GlobalVector
 
typedef align::LocalVector LocalVector
 
typedef align::PositionType PositionType
 
typedef align::RotationType RotationType
 
typedef align::Scalar Scalar
 
typedef align::StructureType StructureType
 
- Protected Types inherited from Alignable
template<class T >
using Cache = std::map< align::RunNumber, T >
 
- Protected Member Functions inherited from AlignableComposite
 AlignableComposite (const GeomDet *geomDet)
 Constructor from GeomDet, only for use in AlignableDet. More...
 
void setSurface (const AlignableSurface &s)
 
void update (const GeomDet *geomDet)
 
template<class T >
void update (T)=delete
 
- Protected Member Functions inherited from Alignable
void addDisplacement (const GlobalVector &displacement)
 
void addRotation (const RotationType &rotation)
 
virtual void updateMother (const GlobalVector &shift)
 
- Protected Attributes inherited from AlignableComposite
StructureType theStructureType
 
- Protected Attributes inherited from Alignable
CompConstraintType compConstraintType_ {CompConstraintType::NONE}
 
Cache< GlobalVectordisplacementsCache_
 
Cache< RotationTyperotationsCache_
 
Cache< AlignableSurfacesurfacesCache_
 
GlobalVector theCachedDisplacement
 
RotationType theCachedRotation
 
AlignableSurface theCachedSurface
 
Alignables theDeepComponents
 
DetId theDetId
 
GlobalVector theDisplacement
 
align::ID theId
 
RotationType theRotation
 
AlignableSurface theSurface
 

Detailed Description

Constructor of the full muon geometry.

The alignable muon.

Date
2008/04/25 21:23:15
Revision
1.21
Author
Andre Sznajder - UERJ(Brazil)

Definition at line 38 of file AlignableMuon.h.

Constructor & Destructor Documentation

◆ AlignableMuon()

AlignableMuon::AlignableMuon ( const DTGeometry dtGeometry,
const CSCGeometry cscGeometry,
const GEMGeometry gemGeometry 
)

Constructor from geometries.

Definition at line 36 of file AlignableMuon.cc.

39  : AlignableComposite(0, align::AlignableMuon), // cannot yet set id, use 0
40  alignableObjectId_(nullptr, dtGeometry, cscGeometry, gemGeometry) {
41  // Build the muon barrel
42  buildDTBarrel(dtGeometry);
43 
44  // Build the muon end caps
45  buildCSCEndcap(cscGeometry);
47 
48  // Set links to mothers recursively
49  recursiveSetMothers(this);
50 
51  // now can set id as for all composites: id of first component
52  theId = this->components()[0]->id();
53 
54  edm::LogInfo("AlignableMuon") << "Constructing alignable muon objects DONE";
55 }

References buildCSCEndcap(), buildDTBarrel(), buildGEMEndcap(), components(), gemGeometry_cff::gemGeometry, recursiveSetMothers(), and Alignable::theId.

◆ ~AlignableMuon()

AlignableMuon::~AlignableMuon ( )
override

Destructor.

Definition at line 58 of file AlignableMuon.cc.

58  {
59  for (align::Alignables::iterator iter = theMuonComponents.begin(); iter != theMuonComponents.end(); iter++) {
60  delete *iter;
61  }
62 }

References theMuonComponents.

Member Function Documentation

◆ alignmentErrors()

AlignmentErrorsExtended * AlignableMuon::alignmentErrors ( void  ) const
overrideprivatevirtual

Get alignment errors sorted by DetId.

Reimplemented from AlignableComposite.

Definition at line 535 of file AlignableMuon.cc.

535  {
537  AlignmentErrorsExtended* m_alignmentErrors = new AlignmentErrorsExtended();
538 
539  // Add components recursively
540  for (align::Alignables::iterator i = comp.begin(); i != comp.end(); i++) {
541  AlignmentErrorsExtended* tmpAlignmentErrorsExtended = (*i)->alignmentErrors();
542  std::copy(tmpAlignmentErrorsExtended->m_alignError.begin(),
543  tmpAlignmentErrorsExtended->m_alignError.end(),
544  std::back_inserter(m_alignmentErrors->m_alignError));
545  delete tmpAlignmentErrorsExtended;
546  }
547 
548  // sort by rawId
549  std::sort(m_alignmentErrors->m_alignError.begin(), m_alignmentErrors->m_alignError.end());
550 
551  return m_alignmentErrors;
552 }

References AlCaHLTBitMon_QueryRunRegistry::comp, components(), filterCSVwithJSON::copy, mps_fire::i, AlignmentErrorsExtended::m_alignError, and jetUpdater_cfi::sort.

◆ alignments()

Alignments * AlignableMuon::alignments ( void  ) const
overrideprivatevirtual

Get alignments sorted by DetId.

Reimplemented from AlignableComposite.

Definition at line 519 of file AlignableMuon.cc.

519  {
521  Alignments* m_alignments = new Alignments();
522  // Add components recursively
523  for (align::Alignables::iterator i = comp.begin(); i != comp.end(); i++) {
524  Alignments* tmpAlignments = (*i)->alignments();
525  std::copy(tmpAlignments->m_align.begin(), tmpAlignments->m_align.end(), std::back_inserter(m_alignments->m_align));
526  delete tmpAlignments;
527  }
528 
529  // sort by rawId
530  std::sort(m_alignments->m_align.begin(), m_alignments->m_align.end());
531 
532  return m_alignments;
533 }

References AlCaHLTBitMon_QueryRunRegistry::comp, components(), filterCSVwithJSON::copy, mps_fire::i, Alignments::m_align, and jetUpdater_cfi::sort.

◆ buildCSCEndcap()

void AlignableMuon::buildCSCEndcap ( const CSCGeometry pCSC,
bool  update = false 
)
private

Build muon end caps.

Definition at line 170 of file AlignableMuon.cc.

170  {
171  LogDebug("Position") << "Constructing AlignableCSCBarrel";
172 
173  // Temporary container for stations in a given endcap
174  std::vector<AlignableCSCStation*> tmpCSCStationsInEndcap;
175 
176  // Loop over endcaps ( 1..2 )
177  for (int iec = 1; iec < 3; iec++) {
178  // Temporary container for rings in a given station
179  std::vector<AlignableCSCRing*> tmpCSCRingsInStation;
180 
181  // Loop over stations ( 1..4 )
182  for (int ist = 1; ist < 5; ist++) {
183  // Temporary container for chambers in a given ring
184  std::vector<AlignableCSCChamber*> tmpCSCChambersInRing;
185 
186  // Loop over rings ( 1..4 )
187  for (int iri = 1; iri < 5; iri++) {
188  // Loop over geom CSC Chambers
189  int iChamber{0};
190  const CSCGeometry::ChamberContainer& vc = pCSC->chambers();
191  for (const auto& det : vc) {
192  // Get the CSCDet ID
193  CSCDetId cscId = det->id();
194 
195  // Get chamber, station, ring, layer and endcap labels of the CSC chamber
196  int ec = cscId.endcap();
197  int st = cscId.station();
198  int ri = cscId.ring();
199  //int ch = cscId.chamber();
200 
201  // Select the chambers in a given endcap, station, and ring
202  if (iec == ec && ist == st && iri == ri) {
203  if (update) {
204  // Update the alignable CSC chamber
205  theCSCEndcaps[iec - 1]->station(ist - 1).ring(iri - 1).chamber(iChamber).update(det);
206  } else {
207  AlignableCSCChamber* tmpCSCChamber = new AlignableCSCChamber(det);
208 
209  // Store the alignable CSC chambers
210  tmpCSCChambersInRing.push_back(tmpCSCChamber);
211  }
212 
213  ++iChamber;
214  // End If chamber selection
215  }
216 
217  // End loop over geom CSC chambers
218  }
219 
220  if (!update) {
221  // Not all stations have 4 rings: only add the rings that exist (have chambers associated with them)
222  if (!tmpCSCChambersInRing.empty()) {
223  // Store the alignable CSC chambers
224  theCSCChambers.insert(theCSCChambers.end(), tmpCSCChambersInRing.begin(), tmpCSCChambersInRing.end());
225 
226  // Create the alignable CSC ring with chambers in a given ring
227  AlignableCSCRing* tmpCSCRing = new AlignableCSCRing(tmpCSCChambersInRing);
228 
229  // Store the CSC rings in a given station
230  tmpCSCRingsInStation.push_back(tmpCSCRing);
231 
232  // Clear the temporary vector of chambers in ring
233  tmpCSCChambersInRing.clear();
234 
235  // End if this ring exists
236  }
237  }
238 
239  // End loop over rings
240  }
241 
242  if (!update) {
243  // Create the alignable CSC station with rings in a given station
244  AlignableCSCStation* tmpCSCStation = new AlignableCSCStation(tmpCSCRingsInStation);
245 
246  // Store the alignable CSC rings
247  theCSCRings.insert(theCSCRings.end(), tmpCSCRingsInStation.begin(), tmpCSCRingsInStation.end());
248 
249  // Store the CSC stations in a given endcap
250  tmpCSCStationsInEndcap.push_back(tmpCSCStation);
251 
252  // Clear the temporary vector of rings in station
253  tmpCSCRingsInStation.clear();
254  }
255 
256  // End loop over stations
257  }
258 
259  if (!update) {
260  // Create the alignable CSC endcap
261  AlignableCSCEndcap* tmpEndcap = new AlignableCSCEndcap(tmpCSCStationsInEndcap);
262 
263  // Store the alignable CSC stations
264  theCSCStations.insert(theCSCStations.end(), tmpCSCStationsInEndcap.begin(), tmpCSCStationsInEndcap.end());
265 
266  // Store the alignable CSC endcaps
267  theCSCEndcaps.push_back(tmpEndcap);
268 
269  // Clear the temporary vector of stations in endcap
270  tmpCSCStationsInEndcap.clear();
271  }
272 
273  // End loop over endcaps
274  }
275 
276  if (!update) {
277  // Store the encaps in the muon components
278  theMuonComponents.insert(theMuonComponents.end(), theCSCEndcaps.begin(), theCSCEndcaps.end());
279  }
280 }

References align::AlignableCSCChamber, align::AlignableCSCEndcap, align::AlignableCSCRing, align::AlignableCSCStation, CSCGeometry::chambers(), CSCDetId::endcap(), LogDebug, CSCDetId::ring(), CSCDetId::station(), theCSCChambers, theCSCEndcaps, theCSCRings, theCSCStations, theMuonComponents, and update().

Referenced by AlignableMuon(), and update().

◆ buildDTBarrel()

void AlignableMuon::buildDTBarrel ( const DTGeometry pDT,
bool  update = false 
)
private

Build muon barrel.

Definition at line 80 of file AlignableMuon.cc.

80  {
81  LogDebug("Position") << "Constructing AlignableDTBarrel";
82 
83  // Temporary container for chambers in a given station and stations in a given wheel
84  std::vector<AlignableDTChamber*> tmpDTChambersInStation;
85  std::vector<AlignableDTStation*> tmpDTStationsInWheel;
86 
87  // Loop over wheels ( -2..2 )
88  for (int iwh = -2; iwh < 3; iwh++) {
89  // Loop over stations ( 1..4 )
90  for (int ist = 1; ist < 5; ist++) {
91  // Loop over geom DT Chambers
92  int iChamber{0};
93  std::vector<const GeomDet*>
94  theSLs; // FIXME: What is this vector meant to be for? Probably redundant since super layers are handled inside of the AlignableDTChamber.
95  for (const auto& det : pDT->chambers()) {
96  // Get the chamber ID
97  DTChamberId chamberId = det->id();
98 
99  // Get wheel,station and sector of the chamber
100  int wh = chamberId.wheel();
101  int st = chamberId.station();
102  //int se = chamberId.sector();
103 
104  // Select the chambers in a given wheel in a given station
105  if (iwh == wh && ist == st) {
106  if (update) {
107  // Update the alignable DT chamber
108  theDTBarrel.back()->wheel(iwh + 2).station(ist - 1).chamber(iChamber).update(det);
109  } else {
110  // Create the alignable DT chamber
111  AlignableDTChamber* tmpDTChamber = new AlignableDTChamber(det);
112 
113  // Store the DT chambers in a given DT Station and Wheel
114  tmpDTChambersInStation.push_back(tmpDTChamber);
115  }
116 
117  ++iChamber;
118  // End chamber selection
119  }
120 
121  // End loop over chambers
122  }
123 
124  if (!update) {
125  // Store the DT chambers
126  theDTChambers.insert(theDTChambers.end(), tmpDTChambersInStation.begin(), tmpDTChambersInStation.end());
127 
128  // Create the alignable DT station with chambers in a given station and wheel
129  AlignableDTStation* tmpDTStation = new AlignableDTStation(tmpDTChambersInStation);
130 
131  // Store the DT stations in a given wheel
132  tmpDTStationsInWheel.push_back(tmpDTStation);
133 
134  // Clear the temporary vector of chambers in a station
135  tmpDTChambersInStation.clear();
136  }
137  // End loop over stations
138  }
139 
140  if (!update) {
141  // Store The DT stations
142  theDTStations.insert(theDTStations.end(), tmpDTStationsInWheel.begin(), tmpDTStationsInWheel.end());
143 
144  // Create the alignable DT wheel
145  AlignableDTWheel* tmpWheel = new AlignableDTWheel(tmpDTStationsInWheel);
146 
147  // Store the DT wheels
148  theDTWheels.push_back(tmpWheel);
149 
150  // Clear temporary vector of stations in a wheel
151  tmpDTStationsInWheel.clear();
152  }
153 
154  // End loop over wheels
155  }
156 
157  if (!update) {
158  // Create the alignable Muon Barrel
159  AlignableDTBarrel* tmpDTBarrel = new AlignableDTBarrel(theDTWheels);
160 
161  // Store the barrel
162  theDTBarrel.push_back(tmpDTBarrel);
163 
164  // Store the barrel in the muon
165  theMuonComponents.push_back(tmpDTBarrel);
166  }
167 }

References align::AlignableDTBarrel, align::AlignableDTChamber, align::AlignableDTStation, align::AlignableDTWheel, DTGeometry::chambers(), LogDebug, DTChamberId::station(), theDTBarrel, theDTChambers, theDTStations, theDTWheels, theMuonComponents, update(), and DTChamberId::wheel().

Referenced by AlignableMuon(), and update().

◆ buildGEMEndcap()

void AlignableMuon::buildGEMEndcap ( const GEMGeometry pGEM,
bool  update = false 
)
private

Definition at line 283 of file AlignableMuon.cc.

283  {
284  LogDebug("Position") << "Constructing AlignableGEMEndcap";
285  std::vector<AlignableGEMStation*> tmpGEMStationsInEndcap;
286  for (int iec = -1; iec < 2; iec = iec + 2) {
287  std::vector<AlignableGEMRing*> tmpGEMRingsInStation;
288 
289  for (int ist = 0; ist < 3; ist++) {
290  if (ist == 0)
291  continue; //Run3 GEM dosen't have ME0
292  if (ist == 2)
293  continue; //Run3 GEM dosen't have GE2/1
294  std::vector<AlignableGEMSuperChamber*> tmpGEMSuperChambersInRing;
295  int iri = 1;
296  int iChamber{0};
297  auto vc = pGEM->superChambers();
298  for (const auto& det : vc) {
299  GEMDetId gemId = det->id();
300  int ec = gemId.region();
301  int st = gemId.station();
302  int ri = gemId.ring();
303 
304  if (iec == ec && ist == st && iri == ri) {
305  if (update) {
306  theGEMEndcaps[iec == -1 ? 0 : 1]->station(ist - 1).ring(iri - 1).superChamber(iChamber).update(det);
307  } else {
308  AlignableGEMSuperChamber* tmpGEMSuperChamber = new AlignableGEMSuperChamber(det);
309  tmpGEMSuperChambersInRing.push_back(tmpGEMSuperChamber);
310  }
311  ++iChamber;
312  }
313  }
314  if (!update) {
315  if (!tmpGEMSuperChambersInRing.empty()) {
316  theGEMSuperChambers.insert(
317  theGEMSuperChambers.end(), tmpGEMSuperChambersInRing.begin(), tmpGEMSuperChambersInRing.end());
318  AlignableGEMRing* tmpGEMRing = new AlignableGEMRing(tmpGEMSuperChambersInRing);
319  tmpGEMRingsInStation.push_back(tmpGEMRing);
320  tmpGEMSuperChambersInRing.clear();
321  }
322  }
323  if (!update) {
324  AlignableGEMStation* tmpGEMStation = new AlignableGEMStation(tmpGEMRingsInStation);
325  theGEMRings.insert(theGEMRings.end(), tmpGEMRingsInStation.begin(), tmpGEMRingsInStation.end());
326  tmpGEMStationsInEndcap.push_back(tmpGEMStation);
327  tmpGEMRingsInStation.clear();
328  }
329  }
330  if (!update) {
331  AlignableGEMEndcap* tmpEndcap = new AlignableGEMEndcap(tmpGEMStationsInEndcap);
332  theGEMStations.insert(theGEMStations.end(), tmpGEMStationsInEndcap.begin(), tmpGEMStationsInEndcap.end());
333  theGEMEndcaps.push_back(tmpEndcap);
334  tmpGEMStationsInEndcap.clear();
335  }
336  }
337 }

References align::AlignableGEMEndcap, align::AlignableGEMRing, align::AlignableGEMStation, align::AlignableGEMSuperChamber, LogDebug, GEMDetId::region(), GEMDetId::ring(), GEMDetId::station(), GEMGeometry::superChambers(), theGEMEndcaps, theGEMRings, theGEMStations, theGEMSuperChambers, and update().

Referenced by AlignableMuon(), and update().

◆ components()

const align::Alignables& AlignableMuon::components ( ) const
inlinefinalvirtual

Return all components.

Reimplemented from AlignableComposite.

Definition at line 51 of file AlignableMuon.h.

51 { return theMuonComponents; }

References theMuonComponents.

Referenced by AlignableMuon(), alignmentErrors(), and alignments().

◆ computeOrientation()

RotationType AlignableMuon::computeOrientation ( )
private

Get the global orientation (no rotation by default)

◆ computePosition()

PositionType AlignableMuon::computePosition ( )
private

Get the position (centered at 0 by default)

◆ computeSurface()

AlignableSurface AlignableMuon::computeSurface ( )
private

Get the Surface.

◆ cscAlignmentErrorsExtended()

AlignmentErrorsExtended * AlignableMuon::cscAlignmentErrorsExtended ( void  )

Get CSC alignment errors sorted by DetId.

Definition at line 580 of file AlignableMuon.cc.

580  {
581  // Retrieve muon endcaps alignment errors
582  AlignmentErrorsExtended* cscEndCap1Errors = this->CSCEndcaps().front()->alignmentErrors();
583  AlignmentErrorsExtended* cscEndCap2Errors = this->CSCEndcaps().back()->alignmentErrors();
584  AlignmentErrorsExtended* tmpAlignmentErrorsExtended = new AlignmentErrorsExtended();
585 
586  std::copy(cscEndCap1Errors->m_alignError.begin(),
587  cscEndCap1Errors->m_alignError.end(),
588  back_inserter(tmpAlignmentErrorsExtended->m_alignError));
589  std::copy(cscEndCap2Errors->m_alignError.begin(),
590  cscEndCap2Errors->m_alignError.end(),
591  back_inserter(tmpAlignmentErrorsExtended->m_alignError));
592 
593  return tmpAlignmentErrorsExtended;
594 }

References filterCSVwithJSON::copy, CSCEndcaps(), and AlignmentErrorsExtended::m_alignError.

Referenced by MuonMisalignedProducer::analyze(), MuonAlignment::copyAlignmentToSurvey(), MuonAlignment::saveCSCtoDB(), and MuonAlignmentOutputXML::write().

◆ cscAlignments()

Alignments * AlignableMuon::cscAlignments ( void  )

Get CSC alignments sorted by DetId.

Definition at line 568 of file AlignableMuon.cc.

568  {
569  // Retrieve muon endcaps alignments
570  Alignments* cscEndCap1 = this->CSCEndcaps().front()->alignments();
571  Alignments* cscEndCap2 = this->CSCEndcaps().back()->alignments();
572  Alignments* tmpAlignments = new Alignments();
573 
574  std::copy(cscEndCap1->m_align.begin(), cscEndCap1->m_align.end(), back_inserter(tmpAlignments->m_align));
575  std::copy(cscEndCap2->m_align.begin(), cscEndCap2->m_align.end(), back_inserter(tmpAlignments->m_align));
576 
577  return tmpAlignments;
578 }

References filterCSVwithJSON::copy, CSCEndcaps(), and Alignments::m_align.

Referenced by MuonMisalignedProducer::analyze(), and MuonAlignment::saveCSCtoDB().

◆ CSCChambers()

align::Alignables AlignableMuon::CSCChambers ( )

◆ CSCEndcaps()

align::Alignables AlignableMuon::CSCEndcaps ( )

◆ CSCLayers()

align::Alignables AlignableMuon::CSCLayers ( )

Definition at line 403 of file AlignableMuon.cc.

403  {
405 
407  for (align::Alignables::const_iterator chamberIter = chambers.begin(); chamberIter != chambers.end(); ++chamberIter) {
408  align::Alignables layers = (*chamberIter)->components();
409  for (align::Alignables::const_iterator layerIter = layers.begin(); layerIter != layers.end(); ++layerIter) {
410  result.push_back(*layerIter);
411  }
412  }
413 
414  return result;
415 }

References chambers, CSCChambers(), hgcalTopologyTester_cfi::layers, and mps_fire::result.

Referenced by AlignmentParameterSelector::addSelection().

◆ CSCRings()

align::Alignables AlignableMuon::CSCRings ( )

Definition at line 425 of file AlignableMuon.cc.

425  {
427  copy(theCSCRings.begin(), theCSCRings.end(), back_inserter(result));
428  return result;
429 }

References filterCSVwithJSON::copy, mps_fire::result, and theCSCRings.

Referenced by AlignmentParameterSelector::addSelection().

◆ CSCStations()

align::Alignables AlignableMuon::CSCStations ( )

Definition at line 432 of file AlignableMuon.cc.

432  {
434  copy(theCSCStations.begin(), theCSCStations.end(), back_inserter(result));
435  return result;
436 }

References filterCSVwithJSON::copy, mps_fire::result, and theCSCStations.

Referenced by AlignmentParameterSelector::addSelection().

◆ dtAlignmentErrorsExtended()

AlignmentErrorsExtended * AlignableMuon::dtAlignmentErrorsExtended ( void  )

Get DT alignment errors sorted by DetId.

Definition at line 561 of file AlignableMuon.cc.

561  {
562  // Retrieve muon barrel alignment errors
563  AlignmentErrorsExtended* tmpAlignmentErrorsExtended = this->DTBarrel().front()->alignmentErrors();
564 
565  return tmpAlignmentErrorsExtended;
566 }

References DTBarrel().

Referenced by MuonMisalignedProducer::analyze(), MuonAlignment::copyAlignmentToSurvey(), MuonAlignment::saveDTtoDB(), and MuonAlignmentOutputXML::write().

◆ dtAlignments()

Alignments * AlignableMuon::dtAlignments ( void  )

Get DT alignments sorted by DetId.

Definition at line 554 of file AlignableMuon.cc.

554  {
555  // Retrieve muon barrel alignments
556  Alignments* tmpAlignments = this->DTBarrel().front()->alignments();
557 
558  return tmpAlignments;
559 }

References DTBarrel().

Referenced by MuonMisalignedProducer::analyze(), and MuonAlignment::saveDTtoDB().

◆ DTBarrel()

align::Alignables AlignableMuon::DTBarrel ( )

◆ DTChambers()

align::Alignables AlignableMuon::DTChambers ( )

◆ DTLayers()

align::Alignables AlignableMuon::DTLayers ( )

Methods to return specific of components.

Definition at line 340 of file AlignableMuon.cc.

340  {
342 
344  for (align::Alignables::const_iterator chamberIter = chambers.begin(); chamberIter != chambers.end(); ++chamberIter) {
345  align::Alignables superlayers = (*chamberIter)->components();
346  for (align::Alignables::const_iterator superlayerIter = superlayers.begin(); superlayerIter != superlayers.end();
347  ++superlayerIter) {
348  align::Alignables layers = (*superlayerIter)->components();
349  for (align::Alignables::const_iterator layerIter = layers.begin(); layerIter != layers.end(); ++layerIter) {
350  result.push_back(*layerIter);
351  }
352  }
353  }
354 
355  return result;
356 }

References chambers, DTChambers(), hgcalTopologyTester_cfi::layers, and mps_fire::result.

Referenced by AlignmentParameterSelector::addSelection().

◆ DTStations()

align::Alignables AlignableMuon::DTStations ( )

Definition at line 382 of file AlignableMuon.cc.

382  {
384  copy(theDTStations.begin(), theDTStations.end(), back_inserter(result));
385  return result;
386 }

References filterCSVwithJSON::copy, mps_fire::result, and theDTStations.

Referenced by AlignmentParameterSelector::addSelection().

◆ DTSuperLayers()

align::Alignables AlignableMuon::DTSuperLayers ( )

Definition at line 359 of file AlignableMuon.cc.

359  {
361 
363  for (align::Alignables::const_iterator chamberIter = chambers.begin(); chamberIter != chambers.end(); ++chamberIter) {
364  align::Alignables superlayers = (*chamberIter)->components();
365  for (align::Alignables::const_iterator superlayerIter = superlayers.begin(); superlayerIter != superlayers.end();
366  ++superlayerIter) {
367  result.push_back(*superlayerIter);
368  }
369  }
370 
371  return result;
372 }

References chambers, DTChambers(), and mps_fire::result.

Referenced by AlignmentParameterSelector::addSelection().

◆ DTWheels()

align::Alignables AlignableMuon::DTWheels ( )

Definition at line 389 of file AlignableMuon.cc.

389  {
391  copy(theDTWheels.begin(), theDTWheels.end(), back_inserter(result));
392  return result;
393 }

References filterCSVwithJSON::copy, mps_fire::result, and theDTWheels.

Referenced by AlignmentParameterSelector::addSelection().

◆ gemAlignmentErrorsExtended()

AlignmentErrorsExtended * AlignableMuon::gemAlignmentErrorsExtended ( void  )

Definition at line 608 of file AlignableMuon.cc.

608  {
609  // Retrieve muon endcaps alignment errors
610  AlignmentErrorsExtended* gemEndCap1Errors = this->GEMEndcaps().front()->alignmentErrors();
611  AlignmentErrorsExtended* gemEndCap2Errors = this->GEMEndcaps().back()->alignmentErrors();
612  AlignmentErrorsExtended* tmpAlignmentErrorsExtended = new AlignmentErrorsExtended();
613 
614  std::copy(gemEndCap1Errors->m_alignError.begin(),
615  gemEndCap1Errors->m_alignError.end(),
616  back_inserter(tmpAlignmentErrorsExtended->m_alignError));
617  std::copy(gemEndCap2Errors->m_alignError.begin(),
618  gemEndCap2Errors->m_alignError.end(),
619  back_inserter(tmpAlignmentErrorsExtended->m_alignError));
620  std::sort(tmpAlignmentErrorsExtended->m_alignError.begin(), tmpAlignmentErrorsExtended->m_alignError.end());
621 
622  return tmpAlignmentErrorsExtended;
623 }

References filterCSVwithJSON::copy, GEMEndcaps(), AlignmentErrorsExtended::m_alignError, and jetUpdater_cfi::sort.

Referenced by MuonMisalignedProducer::analyze(), MuonAlignment::copyAlignmentToSurvey(), and MuonAlignment::saveGEMtoDB().

◆ gemAlignments()

Alignments * AlignableMuon::gemAlignments ( void  )

Definition at line 597 of file AlignableMuon.cc.

597  {
598  Alignments* gemEndCap1 = this->GEMEndcaps().front()->alignments();
599  Alignments* gemEndCap2 = this->GEMEndcaps().back()->alignments();
600  Alignments* tmpAlignments = new Alignments();
601  std::copy(gemEndCap1->m_align.begin(), gemEndCap1->m_align.end(), back_inserter(tmpAlignments->m_align));
602  std::copy(gemEndCap2->m_align.begin(), gemEndCap2->m_align.end(), back_inserter(tmpAlignments->m_align));
603  std::sort(tmpAlignments->m_align.begin(), tmpAlignments->m_align.end());
604 
605  return tmpAlignments;
606 }

References filterCSVwithJSON::copy, GEMEndcaps(), Alignments::m_align, and jetUpdater_cfi::sort.

Referenced by MuonMisalignedProducer::analyze(), and MuonAlignment::saveGEMtoDB().

◆ GEMChambers()

align::Alignables AlignableMuon::GEMChambers ( )

Definition at line 467 of file AlignableMuon.cc.

467  {
469  align::Alignables superChambers = GEMSuperChambers();
470  for (align::Alignables::const_iterator superChamberIter = superChambers.begin();
471  superChamberIter != superChambers.end();
472  ++superChamberIter) {
473  align::Alignables chambers = (*superChamberIter)->components();
474  for (align::Alignables::const_iterator chamberIter = chambers.begin(); chamberIter != chambers.end();
475  ++chamberIter) {
476  result.push_back(*chamberIter);
477  }
478  }
479  return result;
480 }

References chambers, GEMSuperChambers(), and mps_fire::result.

◆ GEMEndcaps()

align::Alignables AlignableMuon::GEMEndcaps ( )

◆ GEMEtaPartitions()

align::Alignables AlignableMuon::GEMEtaPartitions ( )

Definition at line 446 of file AlignableMuon.cc.

446  {
448  align::Alignables superChambers = GEMSuperChambers();
449  for (align::Alignables::const_iterator superChamberIter = superChambers.begin();
450  superChamberIter != superChambers.end();
451  ++superChamberIter) {
452  align::Alignables chambers = (*superChamberIter)->components();
453  for (align::Alignables::const_iterator chamberIter = chambers.begin(); chamberIter != chambers.end();
454  ++chamberIter) {
455  align::Alignables etaPartitions = (*chamberIter)->components();
456  for (align::Alignables::const_iterator etaPartitionIter = etaPartitions.begin();
457  etaPartitionIter != etaPartitions.end();
458  ++etaPartitionIter) {
459  result.push_back(*etaPartitionIter);
460  }
461  }
462  }
463  return result;
464 }

References chambers, GEMSuperChambers(), and mps_fire::result.

◆ GEMRings()

align::Alignables AlignableMuon::GEMRings ( )

Definition at line 490 of file AlignableMuon.cc.

490  {
492  copy(theGEMRings.begin(), theGEMRings.end(), back_inserter(result));
493  return result;
494 }

References filterCSVwithJSON::copy, mps_fire::result, and theGEMRings.

◆ GEMStations()

align::Alignables AlignableMuon::GEMStations ( )

Definition at line 497 of file AlignableMuon.cc.

497  {
499  copy(theGEMStations.begin(), theGEMStations.end(), back_inserter(result));
500  return result;
501 }

References filterCSVwithJSON::copy, mps_fire::result, and theGEMStations.

◆ GEMSuperChambers()

align::Alignables AlignableMuon::GEMSuperChambers ( )

Definition at line 483 of file AlignableMuon.cc.

483  {
485  copy(theGEMSuperChambers.begin(), theGEMSuperChambers.end(), back_inserter(result));
486  return result;
487 }

References filterCSVwithJSON::copy, mps_fire::result, and theGEMSuperChambers.

Referenced by GEMChambers(), GEMEtaPartitions(), and MuonScenarioBuilder::moveGEMSectors().

◆ mother()

virtual Alignable* AlignableMuon::mother ( )
inlinevirtual

Alignable tracker has no mother.

Definition at line 54 of file AlignableMuon.h.

54 { return nullptr; }

◆ objectIdProvider()

const AlignableObjectId& AlignableMuon::objectIdProvider ( ) const
inline

Return muon alignable object ID provider derived from the muon system geometry.

Definition at line 92 of file AlignableMuon.h.

92 { return alignableObjectId_; }

References alignableObjectId_.

Referenced by MuonAlignmentInputXML::newAlignableMuon(), and MuonAlignmentOutputXML::write().

◆ recursiveSetMothers()

void AlignableMuon::recursiveSetMothers ( Alignable alignable)
private

Set mothers recursively.

Definition at line 511 of file AlignableMuon.cc.

511  {
512  for (const auto& iter : alignable->components()) {
513  iter->setMother(alignable);
514  recursiveSetMothers(iter);
515  }
516 }

References Alignable::components().

Referenced by AlignableMuon().

◆ update()

void AlignableMuon::update ( const DTGeometry dtGeometry,
const CSCGeometry cscGeometry,
const GEMGeometry gemGeometry 
)

Updater using DTGeometry and CSCGeometry. The given geometries have to match the current ones.

Definition at line 65 of file AlignableMuon.cc.

67  {
68  // update the muon barrel
69  buildDTBarrel(dtGeometry, /* update = */ true);
70 
71  // update the muon end caps
72  buildCSCEndcap(cscGeometry, /* update = */ true);
73  buildGEMEndcap(gemGeometry, /* update = */ true);
74 
75  edm::LogInfo("Alignment") << "@SUB=AlignableMuon::update"
76  << "Updating alignable muon objects DONE";
77 }

References buildCSCEndcap(), buildDTBarrel(), buildGEMEndcap(), and gemGeometry_cff::gemGeometry.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), buildCSCEndcap(), buildDTBarrel(), buildGEMEndcap(), dqm-mbProfile.Profile::finish(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().

Member Data Documentation

◆ alignableObjectId_

const AlignableObjectId AlignableMuon::alignableObjectId_
private

alignable object ID provider

Definition at line 124 of file AlignableMuon.h.

Referenced by objectIdProvider().

◆ theCSCChambers

std::vector<AlignableCSCChamber*> AlignableMuon::theCSCChambers
private

Definition at line 132 of file AlignableMuon.h.

Referenced by buildCSCEndcap(), and CSCChambers().

◆ theCSCEndcaps

std::vector<AlignableCSCEndcap*> AlignableMuon::theCSCEndcaps
private

Definition at line 135 of file AlignableMuon.h.

Referenced by buildCSCEndcap(), and CSCEndcaps().

◆ theCSCRings

std::vector<AlignableCSCRing*> AlignableMuon::theCSCRings
private

Definition at line 134 of file AlignableMuon.h.

Referenced by buildCSCEndcap(), and CSCRings().

◆ theCSCStations

std::vector<AlignableCSCStation*> AlignableMuon::theCSCStations
private

Definition at line 133 of file AlignableMuon.h.

Referenced by buildCSCEndcap(), and CSCStations().

◆ theDTBarrel

std::vector<AlignableDTBarrel*> AlignableMuon::theDTBarrel
private

Definition at line 130 of file AlignableMuon.h.

Referenced by buildDTBarrel(), and DTBarrel().

◆ theDTChambers

std::vector<AlignableDTChamber*> AlignableMuon::theDTChambers
private

Containers of separate components.

Definition at line 127 of file AlignableMuon.h.

Referenced by buildDTBarrel(), and DTChambers().

◆ theDTStations

std::vector<AlignableDTStation*> AlignableMuon::theDTStations
private

Definition at line 128 of file AlignableMuon.h.

Referenced by buildDTBarrel(), and DTStations().

◆ theDTWheels

std::vector<AlignableDTWheel*> AlignableMuon::theDTWheels
private

Definition at line 129 of file AlignableMuon.h.

Referenced by buildDTBarrel(), and DTWheels().

◆ theGEMEndcaps

std::vector<AlignableGEMEndcap*> AlignableMuon::theGEMEndcaps
private

Definition at line 140 of file AlignableMuon.h.

Referenced by buildGEMEndcap(), and GEMEndcaps().

◆ theGEMRings

std::vector<AlignableGEMRing*> AlignableMuon::theGEMRings
private

Definition at line 139 of file AlignableMuon.h.

Referenced by buildGEMEndcap(), and GEMRings().

◆ theGEMStations

std::vector<AlignableGEMStation*> AlignableMuon::theGEMStations
private

Definition at line 138 of file AlignableMuon.h.

Referenced by buildGEMEndcap(), and GEMStations().

◆ theGEMSuperChambers

std::vector<AlignableGEMSuperChamber*> AlignableMuon::theGEMSuperChambers
private

Definition at line 137 of file AlignableMuon.h.

Referenced by buildGEMEndcap(), and GEMSuperChambers().

◆ theMuonComponents

align::Alignables AlignableMuon::theMuonComponents
private

Definition at line 142 of file AlignableMuon.h.

Referenced by buildCSCEndcap(), buildDTBarrel(), components(), and ~AlignableMuon().

mps_fire.i
i
Definition: mps_fire.py:428
GEMDetId::ring
constexpr int ring() const
Definition: GEMDetId.h:176
AlignableCSCStation
Definition: AlignableCSCStation.h:28
AlignableMuon::theCSCChambers
std::vector< AlignableCSCChamber * > theCSCChambers
Definition: AlignableMuon.h:132
AlignableMuon::GEMEndcaps
align::Alignables GEMEndcaps()
Definition: AlignableMuon.cc:504
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
GEMDetId::region
constexpr int region() const
Definition: GEMDetId.h:171
AlignableMuon::theDTChambers
std::vector< AlignableDTChamber * > theDTChambers
Containers of separate components.
Definition: AlignableMuon.h:127
CSCDetId::ring
int ring() const
Definition: CSCDetId.h:68
AlignableMuon::theCSCStations
std::vector< AlignableCSCStation * > theCSCStations
Definition: AlignableMuon.h:133
align::AlignableCSCStation
Definition: StructureType.h:80
AlignableMuon::CSCChambers
align::Alignables CSCChambers()
Definition: AlignableMuon.cc:418
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
AlignableMuon::update
void update(const DTGeometry *, const CSCGeometry *, const GEMGeometry *)
Definition: AlignableMuon.cc:65
align::AlignableDTChamber
Definition: StructureType.h:76
AlignableMuon::theCSCEndcaps
std::vector< AlignableCSCEndcap * > theCSCEndcaps
Definition: AlignableMuon.h:135
AlignableMuon::theGEMRings
std::vector< AlignableGEMRing * > theGEMRings
Definition: AlignableMuon.h:139
AlignableMuon::buildGEMEndcap
void buildGEMEndcap(const GEMGeometry *, bool update=false)
Definition: AlignableMuon.cc:283
AlCaHLTBitMon_QueryRunRegistry.comp
comp
Definition: AlCaHLTBitMon_QueryRunRegistry.py:249
AlignableMuon::theGEMStations
std::vector< AlignableGEMStation * > theGEMStations
Definition: AlignableMuon.h:138
AlignableCSCChamber
A muon CSC Chamber( an AlignableDet )
Definition: AlignableCSCChamber.h:24
align::AlignableMuon
Definition: StructureType.h:90
AlignableMuon::alignableObjectId_
const AlignableObjectId alignableObjectId_
alignable object ID provider
Definition: AlignableMuon.h:124
AlignableMuon::DTChambers
align::Alignables DTChambers()
Definition: AlignableMuon.cc:375
align::AlignableGEMRing
Definition: StructureType.h:86
align::AlignableCSCEndcap
Definition: StructureType.h:79
AlignableDTStation
Definition: AlignableDTStation.h:27
align::AlignableGEMStation
Definition: StructureType.h:85
DTGeometry::chambers
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
AlignableGEMSuperChamber
Definition: AlignableGEMSuperChamber.h:18
AlignableMuon::recursiveSetMothers
void recursiveSetMothers(Alignable *alignable)
Set mothers recursively.
Definition: AlignableMuon.cc:511
AlignableMuon::theDTStations
std::vector< AlignableDTStation * > theDTStations
Definition: AlignableMuon.h:128
AlignableGEMRing
Definition: AlignableGEMRing.h:16
AlignableMuon::DTBarrel
align::Alignables DTBarrel()
Definition: AlignableMuon.cc:396
AlignableMuon::GEMSuperChambers
align::Alignables GEMSuperChambers()
Definition: AlignableMuon.cc:483
AlignableMuon::theMuonComponents
align::Alignables theMuonComponents
Definition: AlignableMuon.h:142
AlignableMuon::components
const align::Alignables & components() const final
Return all components.
Definition: AlignableMuon.h:51
AlignableMuon::buildDTBarrel
void buildDTBarrel(const DTGeometry *, bool update=false)
Build muon barrel.
Definition: AlignableMuon.cc:80
align::AlignableGEMEndcap
Definition: StructureType.h:84
align::AlignableDTStation
Definition: StructureType.h:75
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
AlignableMuon::theCSCRings
std::vector< AlignableCSCRing * > theCSCRings
Definition: AlignableMuon.h:134
AlignableMuon::theGEMSuperChambers
std::vector< AlignableGEMSuperChamber * > theGEMSuperChambers
Definition: AlignableMuon.h:137
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
AlignableGEMStation
Definition: AlignableGEMStation.h:19
GEMDetId
Definition: GEMDetId.h:18
AlignableCSCRing
Definition: AlignableCSCRing.h:28
CSCDetId
Definition: CSCDetId.h:26
AlignableComposite::AlignableComposite
AlignableComposite()
default constructor hidden
Definition: AlignableComposite.h:118
CSCGeometry::ChamberContainer
std::vector< const CSCChamber * > ChamberContainer
Definition: CSCGeometry.h:30
chambers
static char chambers[264][20]
Definition: ReadPGInfo.cc:243
align::AlignableCSCChamber
Definition: StructureType.h:82
AlignableDTBarrel
Definition: AlignableDTBarrel.h:27
AlignmentErrorsExtended
Definition: AlignmentErrorsExtended.h:10
AlignableMuon::theGEMEndcaps
std::vector< AlignableGEMEndcap * > theGEMEndcaps
Definition: AlignableMuon.h:140
align::AlignableDTBarrel
Definition: StructureType.h:73
AlignableMuon::buildCSCEndcap
void buildCSCEndcap(const CSCGeometry *, bool update=false)
Build muon end caps.
Definition: AlignableMuon.cc:170
align::AlignableDTWheel
Definition: StructureType.h:74
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
AlignableMuon::CSCEndcaps
align::Alignables CSCEndcaps()
Definition: AlignableMuon.cc:439
align::AlignableGEMSuperChamber
Definition: StructureType.h:87
AlignableGEMEndcap
Definition: AlignableGEMEndcap.h:18
AlignableMuon::theDTBarrel
std::vector< AlignableDTBarrel * > theDTBarrel
Definition: AlignableMuon.h:130
CSCDetId::endcap
int endcap() const
Definition: CSCDetId.h:85
Alignable::theId
align::ID theId
Definition: Alignable.h:235
CSCGeometry::chambers
const ChamberContainer & chambers() const
Return a vector of all chambers.
Definition: CSCGeometry.cc:96
gemGeometry_cff.gemGeometry
gemGeometry
Definition: gemGeometry_cff.py:5
AlignableCSCEndcap
Definition: AlignableCSCEndcap.h:27
AlignableDTChamber
A muon DT Chamber( an AlignableDet )
Definition: AlignableDTChamber.h:24
GEMDetId::station
constexpr int station() const
Definition: GEMDetId.h:179
Alignments::m_align
std::vector< AlignTransform > m_align
Definition: Alignments.h:19
AlignmentErrorsExtended::m_alignError
std::vector< AlignTransformErrorExtended > m_alignError
Definition: AlignmentErrorsExtended.h:19
mps_fire.result
result
Definition: mps_fire.py:311
DTChamberId
Definition: DTChamberId.h:14
AlignableDTWheel
Definition: AlignableDTWheel.h:27
CSCDetId::station
int station() const
Definition: CSCDetId.h:79
GEMGeometry::superChambers
const std::vector< const GEMSuperChamber * > & superChambers() const
Return a vector of all GEM super chambers.
Definition: GEMGeometry.cc:36
align::AlignableCSCRing
Definition: StructureType.h:81
Alignable::components
virtual const Alignables & components() const =0
Return vector of all direct components.
Alignments
Definition: Alignments.h:10
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
hgcalTopologyTester_cfi.layers
layers
Definition: hgcalTopologyTester_cfi.py:8
AlignableMuon::theDTWheels
std::vector< AlignableDTWheel * > theDTWheels
Definition: AlignableMuon.h:129
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42