CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RingMaker.h
Go to the documentation of this file.
1 #ifndef RECOTRACKER_RINGMAKER_H
2 #define RECOTRACKER_RINGMAKER_H
3 
4 //
5 // Package: RecoTracker/RingMakerESProducer
6 // Class: RingMaker
7 //
8 // Description: The RingMaker object creates and povides
9 // all Rings in the detector.
10 //
11 // Original Author: Oliver Gutsche, gutsche@fnal.gov
12 // Created: Tue Oct 3 23:51:34 UTC 2006
13 //
14 // $Author: gutsche $
15 // $Date: 2007/03/30 02:49:35 $
16 // $Revision: 1.2 $
17 //
18 
19 #include <vector>
20 #include <string>
21 
23 
25 
27 
28 class RingMaker {
29 
30  public:
31 
33  std::string configuration);
34 
35  ~RingMaker();
36 
37  void constructRings();
38 
39  void constructTIBRings(unsigned int &index);
40  void constructTOBRings(unsigned int &index);
41  void constructTIDRings(unsigned int &index);
42  void constructTECRings(unsigned int &index);
43  void constructPXBRings(unsigned int &index);
44  void constructPXFRings(unsigned int &index);
45 
46  Ring constructTIBRing(unsigned int layer,
47  unsigned int fw_bw,
48  unsigned int ext_int,
49  unsigned int detector);
50 
51  DetId constructTIBDetId(unsigned int layer,
52  unsigned int fw_bw,
53  unsigned int ext_int,
54  unsigned int string,
55  unsigned int detector,
56  unsigned int stereo);
57 
58  Ring constructTOBRing(unsigned int layer,
59  unsigned int rod_fw_bw,
60  unsigned int detector);
61 
62  DetId constructTOBDetId(unsigned int layer,
63  unsigned int rod_fw_bw,
64  unsigned int rod,
65  unsigned int detector,
66  unsigned int stereo);
67 
68  Ring constructTIDRing(unsigned int fw_bw,
69  unsigned int wheel,
70  unsigned int ring);
71 
72  DetId constructTIDDetId(unsigned int fw_bw,
73  unsigned int wheel,
74  unsigned int ring,
75  unsigned int detector_fw_bw,
76  unsigned int detector,
77  unsigned int stereo);
78 
79  Ring constructTECRing(unsigned int fw_bw,
80  unsigned int wheel,
81  unsigned int ring);
82 
83  DetId constructTECDetId(unsigned int fw_bw,
84  unsigned int wheel,
85  unsigned int petal_fw_bw,
86  unsigned int petal,
87  unsigned int ring,
88  unsigned int module,
89  unsigned int stereo);
90 
91  Ring constructPXBRing(unsigned int layer,
92  unsigned int module);
93 
94  DetId constructPXBDetId(unsigned int layer,
95  unsigned int ladder,
96  unsigned int module);
97 
98  Ring constructPXFRing(unsigned int fw_bw,
99  unsigned int disk,
100  unsigned int panel,
101  unsigned int module);
102 
103  DetId constructPXFDetId(unsigned int fw_bw,
104  unsigned int disk,
105  unsigned int blade,
106  unsigned int panel,
107  unsigned int module);
108 
109  double determineExtensions(DetId id,
110  float &rmin, float &rmax,
111  float &zmin, float& zmax,
112  Ring::type type);
113 
114  void fillTECGeometryArray();
115  void fillTIBGeometryArray();
116  void fillTIDGeometryArray();
117  void fillTOBGeometryArray();
118  void fillPXBGeometryArray();
119  void fillPXFGeometryArray();
120 
121  inline Rings* getRings() { return rings_;}
122 
123  bool dumpDetIdsIntoFile(std::string fileName);
124  std::string dumpDetIds();
125 
126  private:
127 
129 
131 
132  int tib_[5][3][3][57][4][3]; // tib[layer][str_fw_bw][str_int_ext][str][module][stereo]
133  int tob_[7][3][75][7][3]; // tob[layer][rod_fw_bw][rod][module][stereo]
134  int tid_[3][4][4][3][21][3]; // tid[side][wheel][ring][module_fw_bw][module][stereo]
135  int tec2_[3][10][8]; // tec2[side][wheel][ring]
136  int tec_[3][10][3][9][8][21][3]; // tec[side][wheel][petal_fw_bw][petal][ring][module][stereo]
137  int pxb_[3][44][8]; // pxb[layer][ladder][module]
138  int pxf_[2][2][24][2][4]; // pxf[side][disk][blade][panel][module]
139  int pxf2_[2][2][2][4]; // pxf[side][disk][panel][module]
140 
141  std::string configuration_;
142 
143 };
144 
145 #endif
type
Definition: HCALResponse.h:22
void constructPXBRings(unsigned int &index)
Definition: RingMaker.cc:460
void fillTECGeometryArray()
Definition: RingMaker.cc:911
DetId constructTIDDetId(unsigned int fw_bw, unsigned int wheel, unsigned int ring, unsigned int detector_fw_bw, unsigned int detector, unsigned int stereo)
Definition: RingMaker.cc:345
void constructTIBRings(unsigned int &index)
Definition: RingMaker.cc:105
void constructTOBRings(unsigned int &index)
Definition: RingMaker.cc:194
void fillPXFGeometryArray()
Definition: RingMaker.cc:1000
int pxb_[3][44][8]
Definition: RingMaker.h:137
void fillTOBGeometryArray()
Definition: RingMaker.cc:870
std::string dumpDetIds()
Definition: RingMaker.cc:1059
RingMaker(const TrackerGeometry *tracker, std::string configuration)
Definition: RingMaker.cc:42
void constructTECRings(unsigned int &index)
Definition: RingMaker.cc:364
Ring constructPXBRing(unsigned int layer, unsigned int module)
Definition: RingMaker.cc:485
Ring constructTIDRing(unsigned int fw_bw, unsigned int wheel, unsigned int ring)
Definition: RingMaker.cc:306
DetId constructPXFDetId(unsigned int fw_bw, unsigned int disk, unsigned int blade, unsigned int panel, unsigned int module)
Definition: RingMaker.cc:592
std::string configuration_
Definition: RingMaker.h:141
Ring constructTECRing(unsigned int fw_bw, unsigned int wheel, unsigned int ring)
Definition: RingMaker.cc:394
int tib_[5][3][3][57][4][3]
Definition: RingMaker.h:132
void fillPXBGeometryArray()
Definition: RingMaker.cc:972
Definition: Ring.h:31
Rings * getRings()
Definition: RingMaker.h:121
void fillTIDGeometryArray()
Definition: RingMaker.cc:824
int tec_[3][10][3][9][8][21][3]
Definition: RingMaker.h:136
int pxf_[2][2][24][2][4]
Definition: RingMaker.h:138
DetId constructTIBDetId(unsigned int layer, unsigned int fw_bw, unsigned int ext_int, unsigned int string, unsigned int detector, unsigned int stereo)
Definition: RingMaker.cc:175
Definition: Rings.h:27
DetId constructTECDetId(unsigned int fw_bw, unsigned int wheel, unsigned int petal_fw_bw, unsigned int petal, unsigned int ring, unsigned int module, unsigned int stereo)
Definition: RingMaker.cc:439
int pxf2_[2][2][2][4]
Definition: RingMaker.h:139
int tid_[3][4][4][3][21][3]
Definition: RingMaker.h:134
void fillTIBGeometryArray()
Definition: RingMaker.cc:781
Definition: DetId.h:20
void constructPXFRings(unsigned int &index)
Definition: RingMaker.cc:528
const TrackerGeometry * tracker_
Definition: RingMaker.h:128
bool dumpDetIdsIntoFile(std::string fileName)
Definition: RingMaker.cc:1043
Ring constructTIBRing(unsigned int layer, unsigned int fw_bw, unsigned int ext_int, unsigned int detector)
Definition: RingMaker.cc:135
Rings * rings_
Definition: RingMaker.h:130
~RingMaker()
Definition: RingMaker.cc:60
Ring constructPXFRing(unsigned int fw_bw, unsigned int disk, unsigned int panel, unsigned int module)
Definition: RingMaker.cc:559
double determineExtensions(DetId id, float &rmin, float &rmax, float &zmin, float &zmax, Ring::type type)
Definition: RingMaker.cc:609
Ring constructTOBRing(unsigned int layer, unsigned int rod_fw_bw, unsigned int detector)
Definition: RingMaker.cc:222
DetId constructTOBDetId(unsigned int layer, unsigned int rod_fw_bw, unsigned int rod, unsigned int detector, unsigned int stereo)
Definition: RingMaker.cc:261
void constructRings()
Definition: RingMaker.cc:64
int tob_[7][3][75][7][3]
Definition: RingMaker.h:133
type
Definition: Ring.h:41
int tec2_[3][10][8]
Definition: RingMaker.h:135
Definition: vlib.h:209
void constructTIDRings(unsigned int &index)
Definition: RingMaker.cc:278
DetId constructPXBDetId(unsigned int layer, unsigned int ladder, unsigned int module)
Definition: RingMaker.cc:516