1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#ifndef DTGEOMETRYBUILDERFROMCONDDB_H
#define DTGEOMETRYBUILDERFROMCONDDB_H
/** \class DTGeometryBuilderFromCondDB
*
* Description:
*
* detailed description
*
* \author : Stefano Lacaprara - INFN LNL <stefano.lacaprara@pd.infn.it>
*
* Modification:
*
*/
/* Base Class Headers */
/* Collaborating Class Declarations */
class RecoIdealGeometry;
class DTGeometry;
class DTChamber;
class DTSuperLayer;
class DTLayer;
class DetId;
#include "DataFormats/GeometrySurface/interface/Plane.h"
#include "DataFormats/GeometrySurface/interface/RectangularPlaneBounds.h"
/* C++ Headers */
#include <memory>
#include <vector>
namespace dtGeometryBuilder {
RectangularPlaneBounds* getRecPlaneBounds(const std::vector<double>::const_iterator& shapeStart);
}
/* ====================================================================== */
/* Class DTGeometryBuilderFromCondDB Interface */
class DTGeometryBuilderFromCondDB {
public:
/* Constructor */
DTGeometryBuilderFromCondDB();
/* Destructor */
virtual ~DTGeometryBuilderFromCondDB();
/* Operations */
void build(const std::shared_ptr<DTGeometry>& theGeometry, const RecoIdealGeometry& rig);
private:
DTChamber* buildChamber(const DetId& id, const RecoIdealGeometry& rig, size_t idt) const;
DTSuperLayer* buildSuperLayer(DTChamber* chamber, const DetId& id, const RecoIdealGeometry& rig, size_t idt) const;
DTLayer* buildLayer(DTSuperLayer* sl, const DetId& id, const RecoIdealGeometry& rig, size_t idt) const;
typedef ReferenceCountingPointer<Plane> RCPPlane;
RCPPlane plane(const std::vector<double>::const_iterator tranStart,
const std::vector<double>::const_iterator rotStart,
Bounds* bounds) const;
protected:
};
#endif // DTGEOMETRYBUILDERFROMCONDDB_H
|