CMS 3D CMS Logo

DTGeometryBuilderFromCondDB.h
Go to the documentation of this file.
1 #ifndef DTGEOMETRYBUILDERFROMCONDDB_H
2 #define DTGEOMETRYBUILDERFROMCONDDB_H
3 
16 /* Base Class Headers */
17 
18 /* Collaborating Class Declarations */
19 class RecoIdealGeometry;
20 class DTGeometry;
21 class DTChamber;
22 class DTSuperLayer;
23 class DTLayer;
24 class DetId;
27 
28 /* C++ Headers */
29 #include <memory>
30 #include <vector>
31 
32 
33 namespace dtGeometryBuilder {
34  RectangularPlaneBounds* getRecPlaneBounds( const std::vector<double>::const_iterator &shapeStart );
35 }
36 
37 
38 /* ====================================================================== */
39 
40 /* Class DTGeometryBuilderFromCondDB Interface */
41 
43 
44  public:
45 
46 /* Constructor */
48 
49 /* Destructor */
50  virtual ~DTGeometryBuilderFromCondDB() ;
51 
52 /* Operations */
53  void build(const std::shared_ptr<DTGeometry>& theGeometry,
54  const RecoIdealGeometry& rig);
55 
56 
57  private:
58  DTChamber* buildChamber(const DetId& id,
59  const RecoIdealGeometry& rig,
60  size_t idt) const ;
61 
62  DTSuperLayer* buildSuperLayer(DTChamber* chamber,
63  const DetId& id,
64  const RecoIdealGeometry& rig,
65  size_t idt) const ;
66 
67  DTLayer* buildLayer(DTSuperLayer* sl,
68  const DetId& id,
69  const RecoIdealGeometry& rig,
70  size_t idt) const ;
71 
72 
74 
75  RCPPlane plane(const std::vector<double>::const_iterator tranStart,
76  const std::vector<double>::const_iterator rotStart,
77  Bounds * bounds) const ;
78 
79  protected:
80 
81 };
82 #endif // DTGEOMETRYBUILDERFROMCONDDB_H
83 
RectangularPlaneBounds * getRecPlaneBounds(const std::vector< double >::const_iterator &shapeStart)
ReferenceCountingPointer< Plane > RCPPlane
Definition: DetId.h:18
Definition: Bounds.h:22