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 namespace dtGeometryBuilder {
33  RectangularPlaneBounds* getRecPlaneBounds(const std::vector<double>::const_iterator& shapeStart);
34 }
35 
36 /* ====================================================================== */
37 
38 /* Class DTGeometryBuilderFromCondDB Interface */
39 
41 public:
42  /* Constructor */
44 
45  /* Destructor */
46  virtual ~DTGeometryBuilderFromCondDB();
47 
48  /* Operations */
49  void build(const std::shared_ptr<DTGeometry>& theGeometry, const RecoIdealGeometry& rig);
50 
51 private:
52  DTChamber* buildChamber(const DetId& id, const RecoIdealGeometry& rig, size_t idt) const;
53 
54  DTSuperLayer* buildSuperLayer(DTChamber* chamber, const DetId& id, const RecoIdealGeometry& rig, size_t idt) const;
55 
56  DTLayer* buildLayer(DTSuperLayer* sl, const DetId& id, const RecoIdealGeometry& rig, size_t idt) const;
57 
59 
60  RCPPlane plane(const std::vector<double>::const_iterator tranStart,
61  const std::vector<double>::const_iterator rotStart,
62  Bounds* bounds) const;
63 
64 protected:
65 };
66 #endif // DTGEOMETRYBUILDERFROMCONDDB_H
RectangularPlaneBounds * getRecPlaneBounds(const std::vector< double >::const_iterator &shapeStart)
ReferenceCountingPointer< Plane > RCPPlane
Definition: DetId.h:17
Definition: Bounds.h:20