44 :
tracker_(tracker), configuration_(configuration)
66 unsigned int index = 0;
101 edm::LogInfo(
"RoadSearch") <<
"Constructed " << index <<
" rings.";
107 unsigned int counter = 0;
109 unsigned int layer_max = 5;
110 unsigned int fw_bw_max = 3;
111 unsigned int ext_int_max = 3;
112 unsigned int detector_max = 4;
114 for (
unsigned int layer = 0; layer < layer_max; ++layer ) {
115 for (
unsigned int fw_bw = 0; fw_bw < fw_bw_max; ++fw_bw ) {
116 for (
unsigned int ext_int = 0; ext_int < ext_int_max; ++ext_int ) {
117 for (
unsigned int detector = 0; detector < detector_max; ++detector ) {
124 LogDebug(
"RoadSearch") <<
"constructed TIB ring with index: " << ring.
getindex()
125 <<
" consisting of " << ring.
getNumDetIds() <<
" DetIds";
131 LogDebug(
"RoadSearch") <<
"constructed " << counter <<
" TIB rings";
137 unsigned int ext_int,
138 unsigned int detector) {
146 unsigned int string_max = 57;
150 for (
unsigned int string = 0;
string < string_max; ++string) {
154 if (
tib_[layer][fw_bw][ext_int][
string][detector][2] > 0 ) {
158 }
else if (
tib_[layer][fw_bw][ext_int][
string][detector][0] > 0 ) {
165 LogDebug(
"RoadSearch") <<
"TIB ring initialized rmin/rmax/zmin/zmax: " << rmin
177 unsigned int ext_int,
179 unsigned int detector,
180 unsigned int stereo) {
182 TIBDetId id(layer+1,fw_bw,ext_int,
string+1,detector+1,stereo);
183 LogDebug(
"RoadSearch") <<
"constructed TIB ring DetId for layer: " <<
id.layer()
184 <<
" fw(0)/bw(1): " <<
id.string()[0]
185 <<
" ext(0)/int(1): " <<
id.string()[1]
186 <<
" string: " <<
id.string()[2]
187 <<
" module: " <<
id.module()
188 <<
" stereo: " <<
id.stereo();
190 return DetId(
id.rawId());
196 unsigned int counter = 0;
198 unsigned int layer_max = 7;
199 unsigned int rod_fw_bw_max = 3;
200 unsigned int module_max = 7;
202 for (
unsigned int layer = 0; layer < layer_max; ++layer ) {
203 for (
unsigned int rod_fw_bw = 0; rod_fw_bw < rod_fw_bw_max; ++rod_fw_bw ) {
211 LogDebug(
"RoadSearch") <<
"constructed TOB ring with index: " << ring.
getindex()
212 <<
" consisting of " << ring.
getNumDetIds() <<
" DetIds";
218 LogDebug(
"RoadSearch") <<
"constructed " << counter <<
" TOB rings";
223 unsigned int rod_fw_bw,
232 unsigned int rod_max = 75;
235 for (
unsigned int rod = 0; rod < rod_max; ++rod ) {
239 if (
tob_[layer][rod_fw_bw][rod][module][2] > 0 ) {
243 }
else if (
tob_[layer][rod_fw_bw][rod][module][0] > 0 ) {
251 LogDebug(
"RoadSearch") <<
"TOB ring initialized rmin/rmax/zmin/zmax: " << rmin
262 unsigned int rod_fw_bw,
264 unsigned int detector,
265 unsigned int stereo) {
267 TOBDetId id(layer+1,rod_fw_bw,rod+1,detector+1,stereo);
269 LogDebug(
"RoadSearch") <<
"constructed TOB ring DetId for layer: " <<
id.layer()
270 <<
" rod fw(0)/bw(1): " <<
id.rod()[0]
271 <<
" rod: " <<
id.rod()[1]
272 <<
" module: " <<
id.module()
273 <<
" stereo: " <<
id.stereo() << std::endl;
275 return DetId(
id.rawId());
280 unsigned int counter = 0;
282 unsigned int fw_bw_max = 3;
283 unsigned int wheel_max = 4;
284 unsigned int ring_max = 4;
286 for (
unsigned int fw_bw = 0; fw_bw < fw_bw_max; ++fw_bw ) {
287 for (
unsigned int wheel = 0; wheel < wheel_max; ++wheel ) {
288 for (
unsigned int ring = 0;
ring < ring_max; ++
ring ) {
295 LogDebug(
"RoadSearch") <<
"constructed TID ring with index: " << tempring.
getindex()
296 <<
" consisting of " << tempring.
getNumDetIds() <<
" DetIds";
302 LogDebug(
"RoadSearch") <<
"constructed " << counter <<
" TID rings";
316 unsigned int detector_fw_bw_max = 3;
317 unsigned int detector_max = 21;
321 for (
unsigned int detector_fw_bw = 0; detector_fw_bw < detector_fw_bw_max; ++detector_fw_bw ) {
322 for (
unsigned int detector = 0; detector < detector_max; ++detector ) {
323 if (
tid_[fw_bw][wheel][ring][detector_fw_bw][detector][2] > 0 ) {
326 tempring.
addId(phi,
id);
327 }
else if (
tid_[fw_bw][wheel][ring][detector_fw_bw][detector][0] > 0 ) {
330 tempring.
addId(phi,
id);
335 LogDebug(
"RoadSearch") <<
"TID ring initialized rmin/rmax/zmin/zmax: " << rmin
348 unsigned int module_fw_bw,
350 unsigned int stereo) {
352 TIDDetId id(fw_bw+1,wheel+1,ring+1,module_fw_bw,module+1,stereo);
354 LogDebug(
"RoadSearch") <<
"constructed TID ring DetId for side: " <<
id.side()
355 <<
" wheel: " <<
id.wheel()
356 <<
" ring: " <<
id.ring()
357 <<
" module_fw_bw: " <<
id.module()[0]
358 <<
" module: " <<
id.module()[1]
359 <<
" stereo: " <<
id.stereo();
361 return DetId(
id.rawId());
366 unsigned int counter = 0;
368 unsigned int fw_bw_max = 3;
369 unsigned int wheel_max = 10;
370 unsigned int ring_max = 8;
372 for (
unsigned int fw_bw = 0; fw_bw < fw_bw_max; ++fw_bw ) {
373 for (
unsigned int wheel = 0; wheel < wheel_max; ++wheel ) {
374 for (
unsigned int ring = 0;
ring < ring_max; ++
ring ) {
382 LogDebug(
"RoadSearch") <<
"constructed TEC ring with index: " << tempring.
getindex()
383 <<
" consisting of " << tempring.
getNumDetIds() <<
" DetIds";
390 LogDebug(
"RoadSearch") <<
"constructed " << counter <<
" TEC rings";
404 unsigned int petal_max = 9;
405 unsigned int petal_fw_bw_max = 3;
406 unsigned int module_max = 21;
410 for (
unsigned int petal = 0; petal < petal_max; ++petal ) {
411 for (
unsigned int petal_fw_bw = 0; petal_fw_bw < petal_fw_bw_max; ++petal_fw_bw ) {
416 if (
tec_[fw_bw][wheel][petal_fw_bw][petal][ring][
module][2] > 0 ) {
419 tempring.
addId(phi,
id);
420 }
else if (
tec_[fw_bw][wheel][petal_fw_bw][petal][ring][
module][0] > 0 ) {
423 tempring.
addId(phi,
id);
429 LogDebug(
"RoadSearch") <<
"TEC ring initialized rmin/rmax/zmin/zmax: " << rmin
441 unsigned int petal_fw_bw,
445 unsigned int stereo) {
447 TECDetId id(fw_bw+1,wheel+1,petal_fw_bw,petal+1,ring+1,module+1,stereo);
449 LogDebug(
"RoadSearch") <<
"constructed TEC ring DetId for side: " <<
id.side()
450 <<
" wheel: " <<
id.wheel()
451 <<
" ring: " <<
id.ring()
452 <<
" petal fw(0)/bw(0): " <<
id.petal()[0]
453 <<
" petal: " <<
id.petal()[1]
454 <<
" module: " <<
id.module()
455 <<
" stereo: " <<
id.stereo();
457 return DetId(
id.rawId());
462 unsigned int counter = 0;
464 unsigned int layer_max = 3;
465 unsigned int module_max = 8;
467 for (
unsigned int layer = 0; layer < layer_max; ++layer ) {
475 LogDebug(
"RoadSearch") <<
"constructed PXB ring with index: " << ring.
getindex()
476 <<
" consisting of " << ring.
getNumDetIds() <<
" DetIds";
481 LogDebug(
"RoadSearch") <<
"constructed " << counter <<
" PXB rings";
494 unsigned int ladder_max = 44;
498 for (
unsigned int ladder = 0; ladder < ladder_max; ++ladder ) {
499 if (
pxb_[layer][ladder][module] > 0 ) {
506 LogDebug(
"RoadSearch") <<
"PXB ring initialized rmin/rmax/zmin/zmax: " << rmin
521 LogDebug(
"RoadSearch") <<
"constructed PXB ring DetId for layer: " <<
id.layer()
522 <<
" ladder: " <<
id.ladder()
523 <<
" module: " <<
id.det();
525 return DetId(
id.rawId());
530 unsigned int counter = 0;
532 unsigned int fw_bw_max = 2;
533 unsigned int disk_max = 2;
534 unsigned int panel_max = 2;
535 unsigned int module_max = 4;
537 for (
unsigned int fw_bw = 0; fw_bw < fw_bw_max; ++fw_bw ) {
538 for (
unsigned int disk = 0; disk < disk_max; ++disk ) {
539 for (
unsigned int panel = 0; panel < panel_max; ++panel ) {
555 LogDebug(
"RoadSearch") <<
"constructed " << counter <<
" PXF rings";
570 unsigned int blade_max = 24;
574 for (
unsigned int blade = 0; blade < blade_max; ++blade ) {
575 if (
pxf_[fw_bw][disk][blade][panel][module] > 0 ) {
582 LogDebug(
"RoadSearch") <<
"PXF ring initialized rmin/rmax/zmin/zmax: " << rmin
598 PXFDetId id(fw_bw+1,disk+1,blade+1,panel+1,module+1);
600 LogDebug(
"RoadSearch") <<
"constructed PXF ring DetId for fw_bw: " <<
id.side()
601 <<
" disk: " <<
id.disk()
602 <<
" blade: " <<
id.blade()
603 <<
" panel: " <<
id.panel()
604 <<
" module: " <<
id.module();
606 return DetId(
id.rawId());
612 std::vector<unsigned int> UseRingIds;
616 UseRingIds.push_back(tob_axial.
rawId());
619 UseRingIds.push_back(tob_stereo.rawId());
624 UseRingIds.push_back(tid_axial.
rawId());
627 UseRingIds.push_back(tid_stereo.rawId());
632 UseRingIds.push_back(tec_axial.
rawId());
635 UseRingIds.push_back(tec_stereo.rawId());
640 UseRingIds.push_back(pxb_axial.
rawId());
644 UseRingIds.push_back(pxf_axial.
rawId());
650 UseRingIds.push_back(tib_axial.
rawId());
653 UseRingIds.push_back(tib_stereo.rawId());
657 for ( std::vector<unsigned int>::iterator it = UseRingIds.begin(); it != UseRingIds.end(); ++it) {
665 float local_rmin = 1200.;
666 float local_rmax = 0.;
667 float local_zmin = 2800.;
668 float local_zmax = -2800.;
704 for (
int i = 0;
i < 8; ++
i ) {
707 if ( r[
i] < local_rmin ) local_rmin = r[
i];
708 if ( r[
i] > local_rmax ) local_rmax = r[
i];
709 if ( z[
i] < local_zmin ) local_zmin = z[
i];
710 if ( z[
i] > local_zmax ) local_zmax = z[
i];
713 if ( local_rmin < rmin ) rmin = local_rmin;
714 if ( local_rmax > rmax ) rmax = local_rmax;
715 if ( local_zmin < zmin ) zmin = local_zmin;
716 if ( local_zmax > zmax ) zmax = local_zmax;
722 edm::LogError(
"RoadSearch") <<
"problem resolving DetUnit for TIB ring Detid: " <<
id.rawId()
723 <<
" layer: " << tibid.
layer()
724 <<
" fw(0)/bw(1): " << tibid.
string()[0]
725 <<
" ext(0)/int(0): " << tibid.
string()[1]
726 <<
" string: " << tibid.
string()[2]
727 <<
" module: " << tibid.
module()
728 <<
" not stereo(0)/stereo(1): " << tibid.
stereo()
729 <<
" not glued(0)/glued(1): " << tibid.
glued();
732 edm::LogError(
"RoadSearch") <<
"problem resolving DetUnit for TOB ring Detid: " <<
id.rawId()
733 <<
" layer: " << tobid.
layer()
734 <<
" fw(0)/bw(1): " << tobid.
rod()[0]
735 <<
" rod: " << tobid.
rod()[1]
736 <<
" detector: " << tobid.
det()
737 <<
" not stereo(0)/stereo(1): " << tobid.
stereo()
738 <<
" not glued(0)/glued(1): " << tobid.
glued();
741 edm::LogError(
"RoadSearch") <<
"problem resolving DetUnit for TID ring Detid: " <<
id.rawId()
742 <<
" side neg(1)/pos(2): " << tidid.
side()
743 <<
" wheel: " << tidid.
wheel()
744 <<
" ring: " << tidid.
ring()
745 <<
" module fw(0)/bw(1): " << tidid.
module()[0]
746 <<
" module: " << tidid.
module()[1]
747 <<
" not stereo(0)/stereo(1): " << tidid.
stereo()
748 <<
" not glued(0)/glued(1): " << tidid.
glued();
751 edm::LogError(
"RoadSearch") <<
"problem resolving DetUnit for TEC ring DetId: " <<
id.rawId()
752 <<
" side neg(1)/pos(2): " << tecid.
side()
753 <<
" wheel: " << tecid.
wheel()
754 <<
" petal fw(0)/bw(1): " << tecid.
petal()[0]
755 <<
" petal: " << tecid.
petal()[1]
756 <<
" ring: " << tecid.
ring()
757 <<
" module: " << tecid.
module()
758 <<
" not stereo(0)/stereo(1): " << tecid.
stereo()
759 <<
" not glued(0)/glued(1): " << tecid.
glued();
762 edm::LogError(
"RoadSearch") <<
"problem resolving DetUnit for PXB ring DetId: " <<
id.rawId()
763 <<
" layer: " << pxbid.
layer()
764 <<
" ladder: " << pxbid.
ladder()
765 <<
" module: " << pxbid.
module();
768 edm::LogError(
"RoadSearch") <<
"problem resolving DetUnit for PXF ring DetId: " <<
id.rawId()
769 <<
" side: " << pxfid.
side()
770 <<
" disk: " << pxfid.
disk()
771 <<
" blade: " << pxfid.
blade()
772 <<
" panel: " << pxfid.
panel()
773 <<
" module: " << pxfid.
module();
777 LogDebug(
"RoadSearch") <<
"id/rmin/rmax/zmin/zmax " <<
id.rawId() <<
"/" << rmin <<
"/"<<rmax<<
"/"<<zmin<<
"/"<<zmax;
784 for (
int i = 0;
i < 5; ++
i) {
785 for (
int j = 0;
j < 3; ++
j) {
786 for (
int k = 0;
k < 3; ++
k) {
787 for (
int l = 0;
l < 57; ++
l) {
788 for (
int m = 0;
m < 4; ++
m) {
789 for (
int n =0;
n < 3; ++
n) {
800 for ( std::vector<DetId>::iterator detiterator = detIds.begin(); detiterator != detIds.end(); ++detiterator ) {
801 DetId id = *detiterator;
810 }
else if ( (
int)tibid.
rawId()-(int)tibid.
glued() == 1) {
813 }
else if ( (
int)tibid.
rawId()-(int)tibid.
glued() == 2) {
817 edm::LogError(
"RoadSearch") <<
"stereo of TIBId: " <<
id.rawId() <<
" could not be determined." << (int)tibid.
glued();
830 for (
int i = 0;
i < 3; ++
i ) {
831 for (
int j = 0;
j < 4; ++
j ) {
832 for (
int k = 0;
k < 4; ++
k ) {
833 for (
int l = 0;
l < 3; ++
l ) {
834 for (
int m = 0;
m < 21; ++
m ) {
835 for (
int n = 0;
n < 3; ++
n ) {
846 for ( std::vector<DetId>::iterator detiterator = detIds.begin(); detiterator != detIds.end(); ++detiterator ) {
847 DetId id = *detiterator;
856 }
else if ( (
int)tidid.
rawId()-(int)tidid.
glued() == 1) {
859 }
else if ( (
int)tidid.
rawId()-(int)tidid.
glued() == 2) {
863 edm::LogError(
"RoadSearch") <<
"stereo of TIDId: " <<
id.rawId() <<
" could not be determined.";
873 for (
int i = 0;
i < 7; ++
i) {
874 for (
int j = 0;
j < 3; ++
j) {
875 for (
int k = 0;
k < 75; ++
k) {
876 for (
int l = 0;
l < 7; ++
l) {
877 for (
int m = 0;
m < 3; ++
m) {
887 for ( std::vector<DetId>::iterator detiterator = detIds.begin(); detiterator != detIds.end(); ++detiterator ) {
888 DetId id = *detiterator;
897 }
else if ( (
int)tobid.
rawId()-(int)tobid.
glued() == 1) {
900 }
else if ( (
int)tobid.
rawId()-(int)tobid.
glued() == 2) {
904 edm::LogError(
"RoadSearch") <<
"stereo of TOBId: " <<
id.rawId() <<
" could not be determined.";
919 for (
int i = 0;
i < 3; ++
i ) {
920 for (
int j = 0;
j < 10; ++
j ) {
921 for (
int k = 0;
k < 3; ++
k ) {
922 for (
int l = 0;
l < 9; ++
l ) {
923 for (
int m = 0;
m < 8; ++
m ) {
924 for (
int n = 0;
n < 21; ++
n ) {
925 for (
int o = 0;
o < 3; ++
o ) {
935 for (
int i = 0;
i < 3; ++
i ) {
936 for (
int j = 0;
j < 10; ++
j ) {
937 for (
int k = 0;
k < 8; ++
k ) {
945 for ( std::vector<DetId>::iterator detiterator = detIds.begin(); detiterator != detIds.end(); ++detiterator ) {
946 DetId id = *detiterator;
956 }
else if ( (
int)tecid.
rawId()-(int)tecid.
glued() == 1) {
960 }
else if ( (
int)tecid.
rawId()-(int)tecid.
glued() == 2) {
965 edm::LogError(
"RoadSearch") <<
"stereo of TECId: " <<
id.rawId() <<
" could not be determined.";
977 for (
int i = 0;
i < 3; ++
i ) {
978 for (
int j = 0;
j < 44; ++
j ) {
979 for (
int k = 0;
k < 8; ++
k ) {
987 for ( std::vector<DetId>::iterator detiterator = detIds.begin(); detiterator != detIds.end(); ++detiterator ) {
988 DetId id = *detiterator;
1005 for (
int i = 0;
i < 2; ++
i ) {
1006 for (
int j = 0;
j < 2; ++
j ) {
1007 for (
int k = 0;
k < 24; ++
k ) {
1008 for (
int l = 0;
l < 2; ++
l ) {
1009 for (
int m = 0;
m < 4; ++
m ) {
1017 for (
int i = 0;
i < 2; ++
i ) {
1018 for (
int j = 0;
j < 2; ++
j ) {
1019 for (
int k = 0;
k < 2; ++
k ) {
1020 for (
int l = 0;
l < 4; ++
l ) {
1029 for ( std::vector<DetId>::iterator detiterator = detIds.begin(); detiterator != detIds.end(); ++detiterator ) {
1030 DetId id = *detiterator;
1051 std::ofstream
output(filename.c_str());
1064 std::ostringstream
output;
1068 output << std::endl <<
"[RoadMaker] Total number of DETECTOR = " << detIds.size() << std::endl;
1070 for ( std::vector<DetId>::iterator detiterator = detIds.begin(); detiterator != detIds.end(); ++detiterator ) {
1071 DetId id = *detiterator;
1075 output <<
"[RoadMaker] DetUnit for TIB ring Detid: " <<
id.rawId()
1076 <<
" layer: " << tibid.
layer()
1077 <<
" fw(0)/bw(1): " << tibid.
string()[0]
1078 <<
" ext(0)/int(0): " << tibid.
string()[1]
1079 <<
" string: " << tibid.
string()[2]
1080 <<
" detector: " << tibid.
module()
1081 <<
" not stereo(0)/stereo(1): " << tibid.
stereo()
1082 <<
" not glued(0)/glued(1): " << tibid.
glued()
1086 output <<
"[RoadMaker] DetUnit for TOB ring Detid: " <<
id.rawId()
1087 <<
" layer: " << tobid.
layer()
1088 <<
" fw(0)/bw(1): " << tobid.
rod()[0]
1089 <<
" rod: " << tobid.
rod()[1]
1090 <<
" detector: " << tobid.
module()
1091 <<
" not stereo(0)/stereo(1): " << tobid.
stereo()
1092 <<
" not glued(0)/glued(1): " << tobid.
glued()
1096 output <<
"[RoadMaker] DetUnit for TID ring Detid: " <<
id.rawId()
1097 <<
" side neg(1)/pos(2): " << tidid.
side()
1098 <<
" wheel: " << tidid.
wheel()
1099 <<
" ring: " << tidid.
ring()
1100 <<
" detector fw(0)/bw(1): " << tidid.
module()[0]
1101 <<
" detector: " << tidid.
module()[1]
1102 <<
" not stereo(0)/stereo(1): " << tidid.
stereo()
1103 <<
" not glued(0)/glued(1): " << tidid.
glued()
1107 output <<
"[RoadMaker] DetUnit for TEC ring DetId: " <<
id.rawId()
1108 <<
" side neg(1)/pos(2): " << tecid.
side()
1109 <<
" wheel: " << tecid.
wheel()
1110 <<
" petal fw(0)/bw(1): " << tecid.
petal()[0]
1111 <<
" petal: " << tecid.
petal()[1]
1112 <<
" ring: " << tecid.
ring()
1113 <<
" module: " << tecid.
module();
1114 if ( ((
int)tecid.
partnerDetId()-(int)
id.rawId()) == 1 ) {
1115 output <<
" stereo: 1";
1116 }
else if ( ((
int)tecid.
partnerDetId()-(int)
id.rawId()) == -1 ) {
1117 output <<
" stereo: 2";
1119 output <<
" stereo: 0";
1121 output <<
" stereo: problem";
1123 output << std::endl;
1126 output <<
"[RoadMaker] DetUnit for PXB ring DetId: " <<
id.rawId()
1127 <<
" layer: " << pxbid.
layer()
1128 <<
" ladder: " << pxbid.
ladder()
1129 <<
" detector: " << pxbid.
module()
1133 output <<
"[RoadMaker] DetUnit for PXF ring DetId: " <<
id.rawId()
1134 <<
" side: " << pxfid.
side()
1135 <<
" disk: " << pxfid.
disk()
1136 <<
" blade: " << pxfid.
blade()
1137 <<
" detector: " << pxfid.
module()
1140 output <<
"[RoadMaker] DetUnit for unknown subdetector: " <<
id.rawId() << std::endl;
1145 return output.str();
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
void constructPXBRings(unsigned int &index)
void fillTECGeometryArray()
unsigned int panel() const
panel id
DetId constructTIDDetId(unsigned int fw_bw, unsigned int wheel, unsigned int ring, unsigned int detector_fw_bw, unsigned int detector, unsigned int stereo)
static const char tracker_[]
void constructTIBRings(unsigned int &index)
virtual float length() const =0
void constructTOBRings(unsigned int &index)
unsigned int layer() const
layer id
unsigned int getindex() const
void fillPXFGeometryArray()
Geom::Phi< T > phi() const
void fillTOBGeometryArray()
unsigned int ladder() const
ladder id
RingMaker(const TrackerGeometry *tracker, std::string configuration)
void constructTECRings(unsigned int &index)
std::vector< unsigned int > string() const
string id
unsigned int module() const
det id
Ring constructPXBRing(unsigned int layer, unsigned int module)
unsigned int layer() const
layer id
Ring constructTIDRing(unsigned int fw_bw, unsigned int wheel, unsigned int ring)
unsigned int side() const
positive or negative id
std::vector< unsigned int > rod() const
rod id
unsigned int blade() const
blade id
DetId constructPXFDetId(unsigned int fw_bw, unsigned int disk, unsigned int blade, unsigned int panel, unsigned int module)
uint32_t rawId() const
get the raw id
virtual float thickness() const =0
void setindex(unsigned int input)
std::string configuration_
Ring constructTECRing(unsigned int fw_bw, unsigned int wheel, unsigned int ring)
std::vector< unsigned int > petal() const
petal id
int tib_[5][3][3][57][4][3]
void fillPXBGeometryArray()
void fillTIDGeometryArray()
int tec_[3][10][3][9][8][21][3]
uint32_t partnerDetId() const
unsigned int ring() const
ring id
unsigned int module() const
det id
DetId constructTIBDetId(unsigned int layer, unsigned int fw_bw, unsigned int ext_int, unsigned int string, unsigned int detector, unsigned int stereo)
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)
unsigned int module() const
det id
std::vector< unsigned int > module() const
det id
unsigned int disk() const
disk id
int tid_[3][4][4][3][21][3]
void fillTIBGeometryArray()
const Bounds & bounds() const
void constructPXFRings(unsigned int &index)
void initialize(float rmin, float rmax, float zmin, float zmax)
const TrackerGeometry * tracker_
bool dumpDetIdsIntoFile(std::string fileName)
unsigned int module() const
detector id
unsigned int side() const
positive or negative id
Ring constructTIBRing(unsigned int layer, unsigned int fw_bw, unsigned int ext_int, unsigned int detector)
unsigned int wheel() const
wheel id
unsigned int layer() const
layer id
virtual const GeomDetUnit * idToDetUnit(DetId) const
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Ring constructPXFRing(unsigned int fw_bw, unsigned int disk, unsigned int panel, unsigned int module)
void insert(double z, Ring &ring)
const BoundPlane & surface() const
The nominal surface of the GeomDet.
double determineExtensions(DetId id, float &rmin, float &rmax, float &zmin, float &zmax, Ring::type type)
Ring constructTOBRing(unsigned int layer, unsigned int rod_fw_bw, unsigned int detector)
virtual const DetIdContainer & detUnitIds() const
Returm a vector of all GeomDetUnit DetIds.
DetId constructTOBDetId(unsigned int layer, unsigned int rod_fw_bw, unsigned int rod, unsigned int detector, unsigned int stereo)
unsigned int ring() const
ring id
unsigned int side() const
positive or negative id
unsigned int module() const
detector id
Detector det() const
get the detector field from this detid
virtual float width() const =0
void constructTIDRings(unsigned int &index)
void addId(double phi, DetId id)
unsigned int wheel() const
wheel id
DetId constructPXBDetId(unsigned int layer, unsigned int ladder, unsigned int module)