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 
17 
18 
21 
22  //========================== PUBLIC METHODS =================================
23  public: //===================================================================
24 
26  virtual ~AlignableTrackerBuilder() = default;
27 
30  void buildAlignables(AlignableTracker*, bool update = false);
31 
35 
36 
39 
40  //========================= PRIVATE METHODS =================================
41  private: //==================================================================
42 
44  void buildAlignableDetUnits(bool update = false);
48  const std::string& moduleName,
49  bool update = false);
51  void buildPixelDetectorAlignable(const GeomDet*, int subdetId,
52  Alignables& aliDets, Alignables& aliDetUnits,
53  bool update = false);
56  void buildStripDetectorAlignable(const GeomDet*, int subdetId,
57  Alignables& aliDets, Alignables& aliDetUnits,
58  bool update = false);
59 
62  void buildAlignableComposites(bool update = false);
67 
68  //========================== PRIVATE DATA ===================================
69  //===========================================================================
70 
74 
76 
78 
79  int numDetUnits = 0;
80 
81 };
82 
83 #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_
const AlignableObjectId & objectIdProvider() const
Return tracker alignable object ID provider derived from the tracker's geometry.
virtual ~AlignableTrackerBuilder()=default
std::string moduleName(Provenance const &provenance)
Definition: Provenance.cc:27
const align::TrackerNameSpace & trackerNameSpace() const
Allows conversion between type and name, and vice-versa.
const AlignableObjectId alignableObjectId_
TrackerAlignmentLevelBuilder trackerAlignmentLevelBuilder_
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's topology.
std::vector< Alignable * > Alignables
Definition: Utilities.h:32
std::vector< const GeomDet * > DetContainer
#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)