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
|
#ifndef Geometry_TrackerGeometryBuilder_TrackerGeomBuilderFromGeometricDet_H
#define Geometry_TrackerGeometryBuilder_TrackerGeomBuilderFromGeometricDet_H
#include <string>
#include <vector>
#include <map>
#include "Geometry/TrackerGeometryBuilder/interface/PlaneBuilderFromGeometricDet.h"
#include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
#include "Geometry/CommonDetUnit/interface/GeomDetType.h"
#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h"
class TrackerGeometry;
class TrackerTopology;
class PixelGeomDetType;
class StripGeomDetType;
class PTrackerParameters;
class TrackerGeomBuilderFromGeometricDet {
public:
TrackerGeometry* build(const GeometricDet* gd,
const PTrackerAdditionalParametersPerDet* ptitp,
const PTrackerParameters& ptp,
const TrackerTopology* tTopo);
private:
void buildPixel(std::vector<const GeometricDet*> const&,
const PTrackerAdditionalParametersPerDet* const&,
TrackerGeometry*,
GeomDetType::SubDetector det,
int BIG_PIX_PER_ROC_X,
int BIG_PIX_PER_ROC_Y);
void buildPixelPhase2(std::vector<const GeometricDet*> const&,
const PTrackerAdditionalParametersPerDet* const&,
TrackerGeometry*,
GeomDetType::SubDetector det);
void buildSilicon(std::vector<const GeometricDet*> const&,
TrackerGeometry*,
GeomDetType::SubDetector det,
const std::string& part);
void buildGeomDet(TrackerGeometry*);
PlaneBuilderFromGeometricDet::ResultType buildPlaneWithMaterial(const GeometricDet* gd,
double scaleFactor = 1.) const;
std::map<std::string, const PixelGeomDetType*> thePixelDetTypeMap;
std::map<std::string, const StripGeomDetType*> theStripDetTypeMap;
const TrackerTopology* theTopo;
};
#endif
|