CMS 3D CMS Logo

AlignableMuon.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignment_AlignableMuon_H
2 #define Alignment_MuonAlignment_AlignableMuon_H
3 
15 
18 
19 class CSCGeometry;
20 class GEMGeometry;
21 
22 // Classes that will be used to construct the muon
23 class AlignableDTBarrel;
24 class AlignableDTWheel;
25 class AlignableDTStation;
26 class AlignableDTChamber;
27 class AlignableCSCEndcap;
29 class AlignableCSCRing;
31 class AlignableGEMEndcap;
33 class AlignableGEMRing;
35 
37 
39 public:
41  AlignableMuon(const DTGeometry*, const CSCGeometry*, const GEMGeometry*);
42 
44  ~AlignableMuon() override;
45 
48  void update(const DTGeometry*, const CSCGeometry*, const GEMGeometry*);
49 
52 
54  virtual Alignable* mother() { return nullptr; }
55 
74 
77 
80 
83 
85 
88 
90 
93 
94 private:
97 
100 
103 
105  Alignments* alignments() const override;
106 
108  AlignmentErrorsExtended* alignmentErrors() const override;
109 
110  // Sub-structure builders
111 
113  void buildDTBarrel(const DTGeometry*, bool update = false);
114 
116  void buildCSCEndcap(const CSCGeometry*, bool update = false);
117 
118  void buildGEMEndcap(const GEMGeometry*, bool update = false);
119 
121  void recursiveSetMothers(Alignable* alignable);
122 
125 
127  std::vector<AlignableDTChamber*> theDTChambers;
128  std::vector<AlignableDTStation*> theDTStations;
129  std::vector<AlignableDTWheel*> theDTWheels;
130  std::vector<AlignableDTBarrel*> theDTBarrel;
131 
132  std::vector<AlignableCSCChamber*> theCSCChambers;
133  std::vector<AlignableCSCStation*> theCSCStations;
134  std::vector<AlignableCSCRing*> theCSCRings;
135  std::vector<AlignableCSCEndcap*> theCSCEndcaps;
136 
137  std::vector<AlignableGEMSuperChamber*> theGEMSuperChambers;
138  std::vector<AlignableGEMStation*> theGEMStations;
139  std::vector<AlignableGEMRing*> theGEMRings;
140  std::vector<AlignableGEMEndcap*> theGEMEndcaps;
141 
143 };
144 
145 #endif //AlignableMuon_H
AlignableMuon::~AlignableMuon
~AlignableMuon() override
Destructor.
Definition: AlignableMuon.cc:58
AlignableMuon::mother
virtual Alignable * mother()
Alignable tracker has no mother.
Definition: AlignableMuon.h:54
DTGeometry
Definition: DTGeometry.h:28
AlignableObjectId
Allows conversion between type and name, and vice-versa.
Definition: AlignableObjectId.h:13
AlignableMuon::dtAlignmentErrorsExtended
AlignmentErrorsExtended * dtAlignmentErrorsExtended()
Get DT alignment errors sorted by DetId.
Definition: AlignableMuon.cc:561
AlignableCSCStation
Definition: AlignableCSCStation.h:28
AlignableMuon::theCSCChambers
std::vector< AlignableCSCChamber * > theCSCChambers
Definition: AlignableMuon.h:132
AlignableMuon::GEMEndcaps
align::Alignables GEMEndcaps()
Definition: AlignableMuon.cc:504
AlignableMuon::computeOrientation
RotationType computeOrientation()
Get the global orientation (no rotation by default)
AlignableMuon::theDTChambers
std::vector< AlignableDTChamber * > theDTChambers
Containers of separate components.
Definition: AlignableMuon.h:127
AlignableMuon::CSCLayers
align::Alignables CSCLayers()
Definition: AlignableMuon.cc:403
Alignable
Definition: Alignable.h:27
AlignableMuon::theCSCStations
std::vector< AlignableCSCStation * > theCSCStations
Definition: AlignableMuon.h:133
AlignableComposite
Definition: AlignableComposite.h:25
AlignableMuon::cscAlignments
Alignments * cscAlignments()
Get CSC alignments sorted by DetId.
Definition: AlignableMuon.cc:568
AlignableMuon::CSCChambers
align::Alignables CSCChambers()
Definition: AlignableMuon.cc:418
AlignableMuon::update
void update(const DTGeometry *, const CSCGeometry *, const GEMGeometry *)
Definition: AlignableMuon.cc:65
watchdog.const
const
Definition: watchdog.py:83
AlignableMuon::theCSCEndcaps
std::vector< AlignableCSCEndcap * > theCSCEndcaps
Definition: AlignableMuon.h:135
AlignableMuon::CSCStations
align::Alignables CSCStations()
Definition: AlignableMuon.cc:432
AlignableMuon::theGEMRings
std::vector< AlignableGEMRing * > theGEMRings
Definition: AlignableMuon.h:139
AlignableMuon::dtAlignments
Alignments * dtAlignments()
Get DT alignments sorted by DetId.
Definition: AlignableMuon.cc:554
AlignableMuon::buildGEMEndcap
void buildGEMEndcap(const GEMGeometry *, bool update=false)
Definition: AlignableMuon.cc:283
AlignableMuon::theGEMStations
std::vector< AlignableGEMStation * > theGEMStations
Definition: AlignableMuon.h:138
AlignableCSCChamber
A muon CSC Chamber( an AlignableDet )
Definition: AlignableCSCChamber.h:24
CSCGeometry
Definition: CSCGeometry.h:24
AlignableMuon::alignableObjectId_
const AlignableObjectId alignableObjectId_
alignable object ID provider
Definition: AlignableMuon.h:124
AlignableMuon::DTChambers
align::Alignables DTChambers()
Definition: AlignableMuon.cc:375
AlignableMuon::computeSurface
AlignableSurface computeSurface()
Get the Surface.
AlignableDTStation
Definition: AlignableDTStation.h:27
Alignable::PositionType
align::PositionType PositionType
Definition: Alignable.h:30
AlignableMuon::DTSuperLayers
align::Alignables DTSuperLayers()
Definition: AlignableMuon.cc:359
AlignableGEMSuperChamber
Definition: AlignableGEMSuperChamber.h:18
AlignableMuon::recursiveSetMothers
void recursiveSetMothers(Alignable *alignable)
Set mothers recursively.
Definition: AlignableMuon.cc:511
AlignableMuon::DTLayers
align::Alignables DTLayers()
Methods to return specific of components.
Definition: AlignableMuon.cc:340
AlignableMuon::gemAlignments
Alignments * gemAlignments()
Definition: AlignableMuon.cc:597
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::objectIdProvider
const AlignableObjectId & objectIdProvider() const
Return muon alignable object ID provider derived from the muon system geometry.
Definition: AlignableMuon.h:92
AlignableMuon::GEMRings
align::Alignables GEMRings()
Definition: AlignableMuon.cc:490
DTGeometry.h
AlignableMuon::buildDTBarrel
void buildDTBarrel(const DTGeometry *, bool update=false)
Build muon barrel.
Definition: AlignableMuon.cc:80
AlignableMuon::theCSCRings
std::vector< AlignableCSCRing * > theCSCRings
Definition: AlignableMuon.h:134
AlignableMuon::theGEMSuperChambers
std::vector< AlignableGEMSuperChamber * > theGEMSuperChambers
Definition: AlignableMuon.h:137
AlignableMuon::DTWheels
align::Alignables DTWheels()
Definition: AlignableMuon.cc:389
AlignableGEMStation
Definition: AlignableGEMStation.h:19
AlignableCSCRing
Definition: AlignableCSCRing.h:28
AlignableComposite.h
AlignableMuon
Constructor of the full muon geometry.
Definition: AlignableMuon.h:38
Alignable::RotationType
align::RotationType RotationType
Definition: Alignable.h:31
AlignableMuon::GEMChambers
align::Alignables GEMChambers()
Definition: AlignableMuon.cc:467
AlignableMuon::gemAlignmentErrorsExtended
AlignmentErrorsExtended * gemAlignmentErrorsExtended()
Definition: AlignableMuon.cc:608
AlignableDTBarrel
Definition: AlignableDTBarrel.h:27
AlignmentErrorsExtended
Definition: AlignmentErrorsExtended.h:10
AlignableMuon::CSCRings
align::Alignables CSCRings()
Definition: AlignableMuon.cc:425
AlignableMuon::theGEMEndcaps
std::vector< AlignableGEMEndcap * > theGEMEndcaps
Definition: AlignableMuon.h:140
AlignableMuon::GEMEtaPartitions
align::Alignables GEMEtaPartitions()
Definition: AlignableMuon.cc:446
AlignableObjectId.h
AlignableMuon::buildCSCEndcap
void buildCSCEndcap(const CSCGeometry *, bool update=false)
Build muon end caps.
Definition: AlignableMuon.cc:170
AlignableMuon::alignmentErrors
AlignmentErrorsExtended * alignmentErrors() const override
Get alignment errors sorted by DetId.
Definition: AlignableMuon.cc:535
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
AlignableMuon::CSCEndcaps
align::Alignables CSCEndcaps()
Definition: AlignableMuon.cc:439
AlignableGEMEndcap
Definition: AlignableGEMEndcap.h:18
AlignableMuon::alignments
Alignments * alignments() const override
Get alignments sorted by DetId.
Definition: AlignableMuon.cc:519
AlignableMuon::theDTBarrel
std::vector< AlignableDTBarrel * > theDTBarrel
Definition: AlignableMuon.h:130
AlignableMuon::DTStations
align::Alignables DTStations()
Definition: AlignableMuon.cc:382
AlignableSurface
Definition: AlignableSurface.h:20
CSCLayer.h
AlignableMuon::AlignableMuon
AlignableMuon(const DTGeometry *, const CSCGeometry *, const GEMGeometry *)
Constructor from geometries.
Definition: AlignableMuon.cc:36
AlignableCSCEndcap
Definition: AlignableCSCEndcap.h:27
AlignableDTChamber
A muon DT Chamber( an AlignableDet )
Definition: AlignableDTChamber.h:24
GEMGeometry
Definition: GEMGeometry.h:24
AlignableDTWheel
Definition: AlignableDTWheel.h:27
AlignableMuon::cscAlignmentErrorsExtended
AlignmentErrorsExtended * cscAlignmentErrorsExtended()
Get CSC alignment errors sorted by DetId.
Definition: AlignableMuon.cc:580
Alignments
Definition: Alignments.h:10
GlobalPoint.h
AlignableMuon::GEMStations
align::Alignables GEMStations()
Definition: AlignableMuon.cc:497
AlignableMuon::theDTWheels
std::vector< AlignableDTWheel * > theDTWheels
Definition: AlignableMuon.h:129
AlignableMuon::computePosition
PositionType computePosition()
Get the position (centered at 0 by default)