CMS 3D CMS Logo

AlignableTrackerBuilder.h
Go to the documentation of this file.
1 #ifndef ALIGNMENT_TRACKERALIGNMENT_INTERFACE_ALIGNABLETRACKERBUILDER_H_
2 #define ALIGNMENT_TRACKERALIGNMENT_INTERFACE_ALIGNABLETRACKERBUILDER_H_
3 
4 // Original Author: Max Stark
5 // Created: Thu, 13 Jan 2016 10:22:57 CET
6 
7 // topology and geometry
11 
12 // alignment
16 
19 
20  //========================== PUBLIC METHODS =================================
21 public: //===================================================================
23  virtual ~AlignableTrackerBuilder() = default;
24 
27  void buildAlignables(AlignableTracker*, bool update = false);
28 
31 
34 
35  //========================= PRIVATE METHODS =================================
36 private: //==================================================================
38  void buildAlignableDetUnits(bool update = false);
42  const std::string& moduleName,
43  bool update = false);
46  const GeomDet*, int subdetId, Alignables& aliDets, Alignables& aliDetUnits, bool update = false);
50  const GeomDet*, int subdetId, Alignables& aliDets, Alignables& aliDetUnits, bool update = false);
51 
54  void buildAlignableComposites(bool update = false);
59 
60  //========================== PRIVATE DATA ===================================
61  //===========================================================================
62 
66 
68 
70 
71  int numDetUnits = 0;
72 };
73 
74 #endif /* ALIGNMENT_TRACKERALIGNMENT_INTERFACE_ALIGNABLETRACKERBUILDER_H_ */
void buildPixelDetectorAlignable(const GeomDet *, int subdetId, Alignables &aliDets, Alignables &aliDetUnits, bool update=false)
Converts GeomDetUnits of PXB and PXE to AlignableDetUnits.
void buildPixelDetector(AlignableTracker *)
Builds the PixelDetector by hand.
const TrackerTopology * trackerTopology_
std::vector< const GeomDet * > DetContainer
const AlignableObjectId & objectIdProvider() const
Return tracker alignable object ID provider derived from the tracker&#39;s geometry.
virtual ~AlignableTrackerBuilder()=default
Allows conversion between type and name, and vice-versa.
const AlignableObjectId alignableObjectId_
TrackerAlignmentLevelBuilder trackerAlignmentLevelBuilder_
const align::TrackerNameSpace & trackerNameSpace() const
void buildAlignableDetUnits(bool update=false)
Builds Alignables on module-level for each part of the tracker.
void buildStripDetector(AlignableTracker *)
Builds the StripDetector by hand.
AlignableTrackerBuilder(const TrackerGeometry *, const TrackerTopology *)
const align::TrackerNameSpace & trackerNameSpace() const
Return tracker name space derived from the tracker&#39;s topology.
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
#define update(a, b)
void buildStripDetectorAlignable(const GeomDet *, int subdetId, Alignables &aliDets, Alignables &aliDetUnits, bool update=false)
void buildAlignables(AlignableTracker *, bool update=false)
void convertGeomDetsToAlignables(const TrackingGeometry::DetContainer &, const std::string &moduleName, bool update=false)
const TrackerGeometry * trackerGeometry_
void buildAlignableComposites(bool update=false)