27 std::vector<double> disk_thickness = trackerMaterial.
getParameter<std::vector<double> >(
"disk_thickness");
28 std::vector<double> disk_inner_radius = trackerMaterial.
getParameter<std::vector<double> >(
"disk_inner_radius");
29 std::vector<double> disk_outer_radius = trackerMaterial.
getParameter<std::vector<double> >(
"disk_outer_radius");
30 std::vector<double> disk_z = trackerMaterial.
getParameter<std::vector<double> >(
"disk_z");
32 assert(disk_inner_radius.size() == disk_outer_radius.size() && disk_inner_radius.size() == disk_z.size() &&
33 disk_inner_radius.size() == disk_thickness.size());
34 std::cout <<
"number of disk layers = " << disk_z.size() << std::endl;
38 std::vector<double> barrel_thickness = trackerMaterial.
getParameter<std::vector<double> >(
"barrel_thickness");
39 std::vector<double> barrel_radius = trackerMaterial.
getParameter<std::vector<double> >(
"barrel_radius");
40 std::vector<double> barrel_length = trackerMaterial.
getParameter<std::vector<double> >(
"barrel_length");
42 assert(barrel_length.size() == barrel_radius.size() && barrel_length.size() == barrel_thickness.size());
43 std::cout <<
"number of barrel layers = " << barrel_length.size() << std::endl;
48 for (
unsigned int i = 0,
j = 0;
i < barrel_length.size() ||
j < disk_z.size();) {
49 bool add_disk =
false;
50 if (
i < barrel_length.size() &&
j < disk_z.size()) {
51 if (disk_outer_radius[
j] < barrel_radius[
i])
55 }
else if (
i < barrel_length.size() && !(
j < disk_z.size()))
57 else if (!(
i < barrel_length.size()) &&
j < disk_z.size())
65 const SimpleDiskBounds diskBounds(disk_inner_radius[j], disk_outer_radius[j], -0.0150, +0.0150);
68 unsigned layerNr =
i +
j;
71 if (theDisk->mediumProperties().radLen() > 0.)
73 theDisk,
true, layerNr, std::vector<double>(), std::vector<double>(), std::vector<double>()));
83 barrel_radius[
i] - 0.0150, barrel_radius[
i] + 0.0150, -barrel_length[
i] / 2, +barrel_length[
i] / 2);
87 unsigned layerNr = i +
j;
90 if (theCylinder->mediumProperties().radLen() > 0.)
92 theCylinder,
false, layerNr, std::vector<double>(), std::vector<double>(), std::vector<double>()));
214 if (fudgeLayer.size() != fudgeMin.size() || fudgeLayer.size() != fudgeMax.size() ||
215 fudgeLayer.size() != fudgeFactor.size()) {
216 throw cms::Exception(
"FastSimulation/TrackerInteractionGeometry ")
217 <<
" WARNING with fudge factors ! You have " << fudgeLayer.size() <<
" layers, but " << fudgeMin.size()
218 <<
" min values, " << fudgeMax.size() <<
" max values and " << fudgeFactor.size() <<
" fudge factor values!"
220 <<
"Please make enter the same number of inputs "
221 <<
"in FastSimulation/TrackerInteractionGeometry/data/TrackerMaterial.cfi" << std::endl;
274 if (!theGeomSearchTracker)
276 <<
"The pointer to the GeometricSearchTracker was not set";
279 auto const& barrelLayers = theGeomSearchTracker->
barrelLayers();
294 beamPipeRadius[version] + 0.003,
295 -beamPipeLength[version],
296 beamPipeLength[version]);
300 auto bl = barrelLayers.begin();
301 double maxLength = (**bl).specificSurface().bounds().length() / 2. + 1.7;
302 double maxRadius = (**bl).specificSurface().radius() + 0.01;
306 const SimpleDiskBounds PIXBOut1(pxb1CablesInnerRadius[version], maxRadius + 0.01, -0.5, 0.5);
311 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2. + 1.7, maxLength + 0.000);
312 maxRadius = (**bl).specificSurface().radius();
316 const SimpleDiskBounds PIXBOut2(pxb2CablesInnerRadius[version], maxRadius + 0.005, -0.5, 0.5);
321 maxRadius = (**bl).specificSurface().radius();
322 const SimpleDiskBounds PIXBOut3(pxb3CablesInnerRadius[version], maxRadius, -0.5, 0.5);
326 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2. + 1.7, maxLength + 0.000);
330 const SimpleDiskBounds PIXBOut4(pxbOutCables1InnerRadius[version], pxbOutCables1OuterRadius[version], -0.5, 0.5);
333 const SimpleDiskBounds PIXBOut(pxbOutCables2InnerRadius[version], pxbOutCables2OuterRadius[version], -0.5, 0.5);
337 pixelOutCablesRadius[version] + 0.1,
338 -pixelOutCablesLength[version],
339 pixelOutCablesLength[version]);
341 const SimpleDiskBounds PIXBOut6(pixelOutCablesInnerRadius[version], pixelOutCablesOuterRadius[version], -0.5, 0.5);
347 maxRadius = (**bl).specificSurface().radius();
348 maxLength = (**bl).specificSurface().bounds().length() / 2.;
349 const SimpleCylinderBounds TIB1(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
352 maxRadius = (**bl).specificSurface().radius();
353 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2., maxLength + 0.000);
354 const SimpleCylinderBounds TIB2(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
357 maxRadius = (**bl).specificSurface().radius();
358 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2., maxLength + 0.000);
359 const SimpleCylinderBounds TIB3(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
362 maxRadius = (**bl).specificSurface().radius();
363 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2., maxLength + 0.000);
364 const SimpleCylinderBounds TIB4(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
367 const SimpleDiskBounds TIBEOut(tibOutCables1InnerRadius[version], tibOutCables1OuterRadius[version], -0.05, 0.05);
370 const SimpleDiskBounds TIBEOut2(tibOutCables2InnerRadius[version], tibOutCables2OuterRadius[version], -0.05, 0.05);
375 tobInCablesRadius[version] + 0.5,
376 -tobInCablesLength[version],
377 tobInCablesLength[version]);
381 maxRadius = (**bl).specificSurface().radius();
382 maxLength = (**bl).specificSurface().bounds().length() / 2. + 0.0;
383 const SimpleCylinderBounds TOB1(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
386 maxRadius = (**bl).specificSurface().radius();
387 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2. + 0.0, maxLength + 0.000);
388 const SimpleCylinderBounds TOB2(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
391 maxRadius = (**bl).specificSurface().radius();
392 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2. + 0.0, maxLength + 0.000);
393 const SimpleCylinderBounds TOB3(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
396 maxRadius = (**bl).specificSurface().radius();
397 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2. + 0.0, maxLength + 0.000);
398 const SimpleCylinderBounds TOB4(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
401 maxRadius = (**bl).specificSurface().radius();
402 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2. + 0.0, maxLength + 0.000);
403 const SimpleCylinderBounds TOB5(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
406 maxRadius = (**bl).specificSurface().radius();
407 maxLength =
std::max((**bl).specificSurface().bounds().length() / 2. + 0.0, maxLength + 0.000);
408 const SimpleCylinderBounds TOB6(maxRadius - 0.0150, maxRadius + 0.0150, -maxLength, +maxLength);
410 const SimpleDiskBounds TOBEOut(tobOutCablesInnerRadius[version], tobOutCablesOuterRadius[version], -0.5, 0.5);
417 tobOutCablesRadius[version] + 0.5,
418 -tobOutCablesLength[version],
419 tobOutCablesLength[version]);
422 auto fl = posForwardLayers.begin();
426 double innerRadius = (**fl).specificSurface().innerRadius() - 1.0;
427 double outerRadius = (**fl).specificSurface().outerRadius() + 2.0;
432 innerRadius = (**fl).specificSurface().innerRadius() - 1.0;
433 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 2.0, outerRadius + 0.000);
441 innerRadius = (**fl).specificSurface().innerRadius() - 0.5;
442 outerRadius = (**fl).specificSurface().outerRadius() + 3.5;
447 innerRadius = (**fl).specificSurface().innerRadius() - 0.5;
448 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 3.5, outerRadius + 0.000);
453 innerRadius = (**fl).specificSurface().innerRadius() - 0.5;
454 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 3.5, outerRadius + 0.000);
459 const SimpleDiskBounds TIDEOut(tidOutCablesInnerRadius[version], outerRadius + 1.0, -0.5, 0.5);
467 innerRadius = (**fl).specificSurface().innerRadius() - 1.5;
468 outerRadius = (**fl).specificSurface().outerRadius() + 2.0;
473 innerRadius = (**fl).specificSurface().innerRadius() - 1.5;
474 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 2.0, outerRadius + 0.000);
479 innerRadius = (**fl).specificSurface().innerRadius() - 1.5;
480 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 2.0, outerRadius + 0.000);
485 innerRadius = (**fl).specificSurface().innerRadius() - 2.5;
486 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 2.0, outerRadius + 0.000);
491 innerRadius = (**fl).specificSurface().innerRadius() - 2.5;
492 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 2.0, outerRadius + 0.000);
497 innerRadius = (**fl).specificSurface().innerRadius() - 2.5;
498 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 2.0, outerRadius + 0.000);
503 innerRadius = (**fl).specificSurface().innerRadius() - 9.5;
504 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 2.0, outerRadius + 0.000);
509 innerRadius = (**fl).specificSurface().innerRadius() - 9.5;
510 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 2.0, outerRadius + 0.000);
515 innerRadius = (**fl).specificSurface().innerRadius() - 20.5;
516 outerRadius =
std::max((**fl).specificSurface().outerRadius() + 2.0, outerRadius + 0.000);
521 const SimpleDiskBounds TEOut(tecOutCables1InnerRadius[version], tecOutCables1OuterRadius[version], -0.5, 0.5);
524 const SimpleDiskBounds TEOut2(tecOutCables2InnerRadius[version], tecOutCables2OuterRadius[version], -0.5, 0.5);
533 unsigned layerNr = 100;
534 theCylinder =
new BoundCylinder(thePosition, theRotation, PIPE);
536 if (theCylinder->mediumProperties().radLen() > 0.)
545 theCylinder =
new BoundCylinder(thePosition, theRotation, PIXB1);
547 if (theCylinder->mediumProperties().radLen() > 0.)
554 theDisk =
new BoundDisk(PPIXBOut1, theRotation2, PIXBOut1);
556 if (theDisk->mediumProperties().radLen() > 0.)
563 theCylinder =
new BoundCylinder(thePosition, theRotation, PIXB2);
565 if (theCylinder->mediumProperties().radLen() > 0.)
572 theDisk =
new BoundDisk(PPIXBOut2, theRotation2, PIXBOut2);
574 if (theDisk->mediumProperties().radLen() > 0.)
581 theDisk =
new BoundDisk(PPIXBOut3, theRotation2, PIXBOut3);
583 if (theDisk->mediumProperties().radLen() > 0.)
590 theCylinder =
new BoundCylinder(thePosition, theRotation, PIXB3);
592 if (theCylinder->mediumProperties().radLen() > 0.)
599 theDisk =
new BoundDisk(PPIXBOut4, theRotation2, PIXBOut4);
601 if (theDisk->mediumProperties().radLen() > 0.)
608 theDisk =
new BoundDisk(PPIXBOut, theRotation2, PIXBOut);
610 if (theDisk->mediumProperties().radLen() > 0.)
617 theDisk =
new BoundDisk(PPIXD1, theRotation2, PIXD1);
619 if (theDisk->mediumProperties().radLen() > 0.)
626 theDisk =
new BoundDisk(PPIXD2, theRotation2, PIXD2);
628 if (theDisk->mediumProperties().radLen() > 0.)
635 theCylinder =
new BoundCylinder(thePosition, theRotation, PIXBOut5);
637 if (theCylinder->mediumProperties().radLen() > 0.)
644 theDisk =
new BoundDisk(PPIXBOut6, theRotation2, PIXBOut6);
646 if (theDisk->mediumProperties().radLen() > 0.)
655 theCylinder =
new BoundCylinder(thePosition, theRotation, TIB1);
656 theCylinder->setMediumProperties(*
_theMPTIB1);
657 if (theCylinder->mediumProperties().radLen() > 0.)
664 theCylinder =
new BoundCylinder(thePosition, theRotation, TIB2);
665 theCylinder->setMediumProperties(*
_theMPTIB2);
666 if (theCylinder->mediumProperties().radLen() > 0.)
673 theCylinder =
new BoundCylinder(thePosition, theRotation, TIB3);
674 theCylinder->setMediumProperties(*
_theMPTIB3);
675 if (theCylinder->mediumProperties().radLen() > 0.)
682 theCylinder =
new BoundCylinder(thePosition, theRotation, TIB4);
683 theCylinder->setMediumProperties(*
_theMPTIB4);
684 if (theCylinder->mediumProperties().radLen() > 0.)
691 theDisk =
new BoundDisk(PTIBEOut, theRotation2, TIBEOut);
693 if (theDisk->mediumProperties().radLen() > 0.)
700 theDisk =
new BoundDisk(PTIBEOut2, theRotation2, TIBEOut2);
702 if (theDisk->mediumProperties().radLen() > 0.)
711 theDisk =
new BoundDisk(PTID1, theRotation2, TID1);
713 if (theDisk->mediumProperties().radLen() > 0.)
719 theDisk =
new BoundDisk(PTID2, theRotation2, TID2);
721 if (theDisk->mediumProperties().radLen() > 0.)
728 theDisk =
new BoundDisk(PTID3, theRotation2, TID3);
730 if (theDisk->mediumProperties().radLen() > 0.)
737 theDisk =
new BoundDisk(PTIDEOut, theRotation2, TIDEOut);
739 if (theDisk->mediumProperties().radLen() > 0.)
748 theCylinder =
new BoundCylinder(thePosition, theRotation, TOBCIn);
750 if (theCylinder->mediumProperties().radLen() > 0.)
757 theCylinder =
new BoundCylinder(thePosition, theRotation, TOB1);
758 theCylinder->setMediumProperties(*
_theMPTOB1);
759 if (theCylinder->mediumProperties().radLen() > 0.)
766 theCylinder =
new BoundCylinder(thePosition, theRotation, TOB2);
767 theCylinder->setMediumProperties(*
_theMPTOB2);
768 if (theCylinder->mediumProperties().radLen() > 0.)
775 theCylinder =
new BoundCylinder(thePosition, theRotation, TOB3);
776 theCylinder->setMediumProperties(*
_theMPTOB3);
777 if (theCylinder->mediumProperties().radLen() > 0.)
784 theCylinder =
new BoundCylinder(thePosition, theRotation, TOB4);
785 theCylinder->setMediumProperties(*
_theMPTOB4);
786 if (theCylinder->mediumProperties().radLen() > 0.)
793 theCylinder =
new BoundCylinder(thePosition, theRotation, TOB5);
794 theCylinder->setMediumProperties(*
_theMPTOB5);
795 if (theCylinder->mediumProperties().radLen() > 0.)
802 theCylinder =
new BoundCylinder(thePosition, theRotation, TOB6);
803 theCylinder->setMediumProperties(*
_theMPTOB6);
804 if (theCylinder->mediumProperties().radLen() > 0.)
811 theDisk =
new BoundDisk(PTOBEOut, theRotation2, TOBEOut);
813 if (theDisk->mediumProperties().radLen() > 0.)
822 theDisk =
new BoundDisk(PTEC1, theRotation2, TEC1);
824 if (theDisk->mediumProperties().radLen() > 0.)
830 theDisk =
new BoundDisk(PTEC2, theRotation2, TEC2);
832 if (theDisk->mediumProperties().radLen() > 0.)
838 theDisk =
new BoundDisk(PTEC3, theRotation2, TEC3);
840 if (theDisk->mediumProperties().radLen() > 0.)
846 theDisk =
new BoundDisk(PTEC4, theRotation2, TEC4);
848 if (theDisk->mediumProperties().radLen() > 0.)
854 theDisk =
new BoundDisk(PTEC5, theRotation2, TEC5);
856 if (theDisk->mediumProperties().radLen() > 0.)
862 theDisk =
new BoundDisk(PTEC6, theRotation2, TEC6);
864 if (theDisk->mediumProperties().radLen() > 0.)
870 theDisk =
new BoundDisk(PTEC7, theRotation2, TEC7);
872 if (theDisk->mediumProperties().radLen() > 0.)
878 theDisk =
new BoundDisk(PTEC8, theRotation2, TEC8);
880 if (theDisk->mediumProperties().radLen() > 0.)
886 theDisk =
new BoundDisk(PTEC9, theRotation2, TEC9);
888 if (theDisk->mediumProperties().radLen() > 0.)
896 theCylinder =
new BoundCylinder(thePosition, theRotation, TBOut);
898 if (theCylinder->mediumProperties().radLen() > 0.)
905 theDisk =
new BoundDisk(PTEOut, theRotation2, TEOut);
907 if (theDisk->mediumProperties().radLen() > 0.)
914 theDisk =
new BoundDisk(PTEOut2, theRotation2, TEOut2);
916 if (theDisk->mediumProperties().radLen() > 0.)
929 std::list<TrackerLayer>::const_iterator cyliterOut =
cylinderBegin();
931 if (cyliterOut->forward()) {
932 zin = cyliterOut->disk()->position().z();
933 rin = cyliterOut->disk()->outerRadius();
935 zin = cyliterOut->cylinder()->bounds().length() / 2.;
936 rin = cyliterOut->cylinder()->bounds().width() / 2.;
944 if (cyliterOut->forward()) {
945 zout = cyliterOut->disk()->position().z();
946 rout = cyliterOut->disk()->outerRadius();
948 zout = cyliterOut->cylinder()->bounds().length() / 2.;
949 rout = cyliterOut->cylinder()->bounds().width() / 2.;
953 if (zout < zin || rout < rin) {
954 throw cms::Exception(
"FastSimulation/TrackerInteractionGeometry ")
955 <<
" WARNING with cylinder number " << nCyl <<
" (Active Layer Number = " << cyliterOut->layerNumber()
956 <<
" Forward ? " << cyliterOut->forward() <<
" ) "
957 <<
" has dimensions smaller than previous cylinder : " << std::endl
958 <<
" zout/zin = " << zout <<
" " << zin << std::endl
959 <<
" rout/rin = " << rout <<
" " << rin << std::endl;
981 std::vector<double>
min;
982 for (
unsigned iLayer = 0; iLayer <
fudgeFactor.size(); ++iLayer) {
991 std::vector<double>
max;
992 for (
unsigned iLayer = 0; iLayer <
fudgeFactor.size(); ++iLayer) {
1001 std::vector<double> fudge;
1002 for (
unsigned iLayer = 0; iLayer <
fudgeFactor.size(); ++iLayer) {
std::vector< double > pixelOutCablesLength
MediumProperties * _theMPEndcap
The Tracker EndCap layers.
std::vector< double > tibOutCables2OuterRadius
std::vector< double > pxbOutCables2OuterRadius
MediumProperties * _theMPTOB3
The tracker outer barrel layer 3.
std::vector< double > tobLayer5Thickness
std::vector< double > fudgeMin
std::vector< double > pxdThickness
Pixel Disks 1-2.
std::vector< double > pxbThickness
Pixel Barrel Layers 1-3.
std::vector< double > pixelOutCablesOuterRadius
std::vector< double > pxbOutCables1Thickness
Pixel Barrel outside cables.
std::vector< double > tidLayer3Thickness
std::vector< double > tibOutCables1Thickness
TIB outside services (endcap)
std::vector< ForwardDetLayer const * > const & posForwardLayers() const
MediumProperties * _theMPTOB4
The tracker outer barrel layer 4.
std::vector< double > fudgeMax
std::vector< double > pxb1CablesInnerRadius
Cables and Services at the end of PIXB1,2,3 ("disk")
std::vector< MediumProperties * > _mediumProperties
std::vector< double > tecOutCables2ZPosition
std::vector< double > pxbOutCables1ZPosition
std::list< TrackerLayer > _theCylinders
The list of tracker (sensistive or not) layers.
MediumProperties * _theMPTIBEOutside2
MediumProperties * _theMPPixelEndcap
The endcap pixel layers.
std::vector< double > beamPipeThickness
Beam Pipe.
std::vector< double > pxb3CablesThickness
std::vector< double > tibOutCables1OuterRadius
std::vector< double > pixelOutCablesZPosition
std::vector< double > pxbOutCables2InnerRadius
std::vector< double > beamPipeLength
MediumProperties * _theMPTIDEOutside
Some material around the tracker inner disks (disk)
MediumProperties * _theMPPixelOutside6
std::list< TrackerLayer >::const_iterator cylinderEnd() const
Returns the last pointer in the cylinder list.
std::vector< double > pxb1CablesThickness
Pixel Barrel services at the end of layers 1-3.
std::vector< double > pxb3CablesInnerRadius
std::vector< double > pixelOutCablesRadius
Pixel Outside walls and cables (barrel and endcaps)
MediumProperties * _theMPTOB1
The tracker outer barrel layer 1.
std::vector< double > tobOutCablesRadius
MediumProperties * _theMPBarrelOutside
Cables around the tracker (one barrel, two disks)
std::vector< double > tobLayer3Thickness
std::vector< double > tobOutCablesInnerRadius
Tracker Outer Barrel Outside Cables and walls (barrel and endcaps)
std::vector< double > tecOutCables2OuterRadius
std::vector< double > tibOutCables2InnerRadius
std::vector< double > tobInsideThickness
TOB inside wall (barrel)
std::vector< double > tidOutCablesZPosition
std::vector< double > pxb2CablesInnerRadius
MediumProperties * _theMPPixelOutside
MediumProperties * _theMPTOB6
The tracker outer barrel layer 6.
std::vector< double > tobOutCablesLength
MediumProperties * _theMPTOBEOutside
Some material around the tracker outer barrel (disk)
std::vector< double > minDim(unsigned layerNr)
std::vector< double > barrelCablesThickness
std::vector< double > pixelOutCablesInnerRadius
std::vector< double > pxdOutCables1Thickness
Pixel Endcap outside cables.
std::vector< double > tobLayer6Thickness
MediumProperties * _theMPPixelOutside2
MediumProperties * _theMPTOB2
The tracker outer barrel layer 2.
std::vector< double > endcapCables2Thickness
std::vector< double > pxbOutCables1OuterRadius
MediumProperties * _theMPTIBEOutside1
Some material around the tracker inner barrel (disk)
std::vector< double > tibLayer2Thickness
std::vector< double > fudgeFactors(unsigned layerNr)
MediumProperties * _theMPBeamPipe
MediumProperties * _theMPPixelOutside1
A series of cables/walls to reproduce the full sim.
std::vector< double > beamPipeRadius
MediumProperties * _theMPPixelBarrel
The barrel pixel layers.
MediumProperties * _theMPPixelOutside3
MediumProperties * _theMPInner3
MediumProperties * _theMPTIB2
The tracker inner barrel layer 2.
std::vector< double > tibLayer4Thickness
MediumProperties * _theMPEndcapOutside2
MediumProperties * _theMPPixelOutside4
std::vector< double > tibOutCables1ZPosition
MediumProperties * _theMPTIB1
The tracker inner barrel layer 1.
std::vector< double > tidLayer2Thickness
std::vector< double > tibLayer1Thickness
Tracker Inner barrel layers 1-4.
std::vector< double > tecOutCables1OuterRadius
std::vector< double > tobLayer1Thickness
Tracker Outer barrel layers 1-6.
std::vector< double > tidOutsideThickness
TID outside wall (endcap)
MediumProperties * _theMPEndcapOutside
MediumProperties * _theMPTOB5
The tracker outer barrel layer 5.
std::vector< double > tibLayer3Thickness
std::vector< double > tobInCablesLength
std::vector< double > pxbOutCables2Thickness
std::vector< double > tibOutCables2Thickness
MediumProperties * _theMPInner1
The tracker inner disks.
std::vector< double > tobLayer4Thickness
std::vector< double > tecOutCables1ZPosition
MediumProperties * _theMPPixelOutside5
std::vector< double > endcapCables1Thickness
MediumProperties * _theMPInner2
std::vector< double > tibOutCables1InnerRadius
Tracker Inner Barrel Outside Cables and walls (endcap)
std::vector< double > pxbOutCables1InnerRadius
Pixel Barrel Outside walls and cables.
std::vector< unsigned int > fudgeLayer
TrackerInteractionGeometry(const edm::ParameterSet &trackerMaterial, const GeometricSearchTracker *geomSearchTracker)
Constructor : get the configurable parameters.
std::vector< double > tobLayer2Thickness
std::vector< double > tobInCablesRadius
Tracker outer barrel Inside wall (barrel)
T getParameter(std::string const &) const
std::list< TrackerLayer >::const_iterator cylinderBegin() const
Returns the first pointer in the cylinder list.
~TrackerInteractionGeometry()
Destructor.
std::vector< double > tobOutCablesZPosition
std::vector< double > fudgeFactor
std::vector< double > tecLayerThickness
std::vector< double > pxbOutCables2ZPosition
std::vector< double > tidOutCablesInnerRadius
Tracker Inner Disks Outside Cables and walls.
std::vector< double > maxDim(unsigned layerNr)
std::vector< double > tecOutCables1InnerRadius
Tracker Endcaps Outside Cables and walls.
std::vector< double > tibOutCables2ZPosition
std::vector< double > pxdOutCables2Thickness
MediumProperties * _theMPTOBBInside
Some material in front of the tracker outer barrel (cylinder)
std::vector< double > tobOutsideThickness
MediumProperties * _theMPTIB4
The tracker inner barrel layer 4.
std::vector< double > tidLayer1Thickness
Tracker Inner disks layers 1-3.
std::vector< double > tecOutCables2InnerRadius
std::vector< double > pxb2CablesThickness
MediumProperties * _theMPTIB3
The tracker inner barrel layer 3.
std::vector< BarrelDetLayer const * > const & barrelLayers() const
std::vector< double > tobOutCablesOuterRadius