29 std::vector<double> disk_thickness = trackerMaterial.
getParameter<std::vector<double> >(
"disk_thickness");
30 std::vector<double> disk_inner_radius = trackerMaterial.
getParameter<std::vector<double> >(
"disk_inner_radius");
31 std::vector<double> disk_outer_radius = trackerMaterial.
getParameter<std::vector<double> >(
"disk_outer_radius");
32 std::vector<double> disk_z = trackerMaterial.
getParameter<std::vector<double> >(
"disk_z");
34 assert(disk_inner_radius.size() == disk_outer_radius.size() && disk_inner_radius.size() == disk_z.size() && disk_inner_radius.size() == disk_thickness.size());
35 std::cout <<
"number of disk layers = " << disk_z.size() << std::endl;
39 std::vector<double> barrel_thickness = trackerMaterial.
getParameter<std::vector<double> >(
"barrel_thickness");
40 std::vector<double> barrel_radius = trackerMaterial.
getParameter<std::vector<double> >(
"barrel_radius");
41 std::vector<double> barrel_length = trackerMaterial.
getParameter<std::vector<double> >(
"barrel_length");
43 assert(barrel_length.size() == barrel_radius.size() && barrel_length.size() == barrel_thickness.size());
44 std::cout <<
"number of barrel layers = " << barrel_length.size() << std::endl;
49 for(
unsigned int i = 0,
j = 0;
i < barrel_length.size() ||
j < disk_z.size(); ){
51 bool add_disk =
false;
52 if(
i < barrel_length.size() &&
j < disk_z.size()){
53 if(disk_outer_radius[
j] < barrel_radius[
i])
58 else if (
i < barrel_length.size() && !(
j < disk_z.size()))
60 else if (!(
i < barrel_length.size()) &&
j < disk_z.size())
68 const SimpleDiskBounds diskBounds(disk_inner_radius[j],disk_outer_radius[j],-0.0150,+0.0150);
71 unsigned layerNr =
i+
j;
74 if ( theDisk->mediumProperties().radLen() > 0. )
76 std::vector<double>(),std::vector<double>(),
77 std::vector<double>()));
89 const SimpleCylinderBounds cylBounds( barrel_radius[
i]-0.0150, barrel_radius[
i]+0.0150, -barrel_length[
i]/2, +barrel_length[
i]/2);
93 unsigned layerNr = i+
j;
96 if ( theCylinder->mediumProperties().radLen() > 0. )
98 std::vector<double>(),std::vector<double>(),
99 std::vector<double>()));
223 if ( fudgeLayer.size() != fudgeMin.size() ||
224 fudgeLayer.size() != fudgeMax.size() ||
225 fudgeLayer.size() != fudgeFactor.size() ) {
226 throw cms::Exception(
"FastSimulation/TrackerInteractionGeometry ")
227 <<
" WARNING with fudge factors ! You have " << fudgeLayer.size()
229 << fudgeMin.size() <<
" min values, "
230 << fudgeMax.size() <<
" max values and "
231 << fudgeFactor.size() <<
" fudge factor values!"
233 <<
"Please make enter the same number of inputs "
234 <<
"in FastSimulation/TrackerInteractionGeometry/data/TrackerMaterial.cfi"
288 if ( !theGeomSearchTracker )
290 <<
"The pointer to the GeometricSearchTracker was not set";
293 auto const& barrelLayers =
297 auto const& posForwardLayers =
310 -beamPipeLength[version], beamPipeLength[version]);
314 auto bl = barrelLayers.begin();
315 double maxLength = (**bl).specificSurface().bounds().length()/2.+1.7;
316 double maxRadius = (**bl).specificSurface().radius()+0.01;
320 const SimpleDiskBounds PIXBOut1(pxb1CablesInnerRadius[version],maxRadius+0.01,-0.5,0.5);
325 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2.+1.7, maxLength+0.000 );
326 maxRadius = (**bl).specificSurface().radius();
330 const SimpleDiskBounds PIXBOut2(pxb2CablesInnerRadius[version],maxRadius+0.005,-0.5,0.5);
335 maxRadius = (**bl).specificSurface().radius();
336 const SimpleDiskBounds PIXBOut3(pxb3CablesInnerRadius[version],maxRadius,-0.5,0.5);
340 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2.+1.7, maxLength+0.000 );
344 const SimpleDiskBounds PIXBOut4( pxbOutCables1InnerRadius[version],pxbOutCables1OuterRadius[version],-0.5,0.5);
347 const SimpleDiskBounds PIXBOut(pxbOutCables2InnerRadius[version],pxbOutCables2OuterRadius[version],-0.5,0.5);
350 const SimpleCylinderBounds PIXBOut5( pixelOutCablesRadius[version]-0.1, pixelOutCablesRadius[version]+0.1,
351 -pixelOutCablesLength[version], pixelOutCablesLength[version]);
353 const SimpleDiskBounds PIXBOut6(pixelOutCablesInnerRadius[version],pixelOutCablesOuterRadius[version],-0.5,0.5);
360 maxRadius = (**bl).specificSurface().radius();
361 maxLength = (**bl).specificSurface().bounds().length()/2.;
365 maxRadius = (**bl).specificSurface().radius();
366 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2., maxLength+0.000 );
370 maxRadius = (**bl).specificSurface().radius();
371 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2., maxLength+0.000 );
375 maxRadius = (**bl).specificSurface().radius();
376 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2., maxLength+0.000 );
380 const SimpleDiskBounds TIBEOut(tibOutCables1InnerRadius[version],tibOutCables1OuterRadius[version],-0.05,0.05);
383 const SimpleDiskBounds TIBEOut2(tibOutCables2InnerRadius[version],tibOutCables2OuterRadius[version],-0.05,0.05);
387 const SimpleCylinderBounds TOBCIn ( tobInCablesRadius[version]-0.5, tobInCablesRadius[version]+0.5,
388 -tobInCablesLength[version], tobInCablesLength[version]);
392 maxRadius = (**bl).specificSurface().radius();
393 maxLength = (**bl).specificSurface().bounds().length()/2.+0.0;
397 maxRadius = (**bl).specificSurface().radius();
398 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2.+0.0, maxLength+0.000 );
402 maxRadius = (**bl).specificSurface().radius();
403 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2.+0.0, maxLength+0.000 );
407 maxRadius = (**bl).specificSurface().radius();
408 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2.+0.0, maxLength+0.000 );
412 maxRadius = (**bl).specificSurface().radius();
413 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2.+0.0, maxLength+0.000 );
417 maxRadius = (**bl).specificSurface().radius();
418 maxLength =
std::max( (**bl).specificSurface().bounds().length()/2.+0.0, maxLength+0.000 );
421 const SimpleDiskBounds TOBEOut(tobOutCablesInnerRadius[version],tobOutCablesOuterRadius[version],-0.5,0.5);
427 const SimpleCylinderBounds TBOut ( tobOutCablesRadius[version]-0.5, tobOutCablesRadius[version]+0.5,
428 -tobOutCablesLength[version], tobOutCablesLength[version]);
431 auto fl = posForwardLayers.begin();
435 double innerRadius = (**fl).specificSurface().innerRadius()-1.0;
436 double outerRadius = (**fl).specificSurface().outerRadius()+2.0;
441 innerRadius = (**fl).specificSurface().innerRadius()-1.0;
442 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+2.0, outerRadius+0.000 );
450 innerRadius = (**fl).specificSurface().innerRadius()-0.5;
451 outerRadius = (**fl).specificSurface().outerRadius()+3.5;
456 innerRadius = (**fl).specificSurface().innerRadius()-0.5;
457 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+3.5, outerRadius+0.000);
462 innerRadius = (**fl).specificSurface().innerRadius()-0.5;
463 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+3.5, outerRadius+0.000);
468 const SimpleDiskBounds TIDEOut(tidOutCablesInnerRadius[version],outerRadius+1.0,-0.5,0.5);
477 innerRadius = (**fl).specificSurface().innerRadius()-1.5;
478 outerRadius = (**fl).specificSurface().outerRadius()+2.0;
483 innerRadius = (**fl).specificSurface().innerRadius()-1.5;
484 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+2.0, outerRadius+0.000 );
489 innerRadius = (**fl).specificSurface().innerRadius()-1.5;
490 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+2.0, outerRadius+0.000 );
495 innerRadius = (**fl).specificSurface().innerRadius()-2.5;
496 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+2.0, outerRadius+0.000 );
501 innerRadius = (**fl).specificSurface().innerRadius()-2.5;
502 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+2.0, outerRadius+0.000 );
507 innerRadius = (**fl).specificSurface().innerRadius()-2.5;
508 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+2.0, outerRadius+0.000 );
513 innerRadius = (**fl).specificSurface().innerRadius()-9.5;
514 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+2.0, outerRadius+0.000 );
519 innerRadius = (**fl).specificSurface().innerRadius()-9.5;
520 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+2.0, outerRadius+0.000 );
525 innerRadius = (**fl).specificSurface().innerRadius()-20.5;
526 outerRadius =
std::max( (**fl).specificSurface().outerRadius()+2.0, outerRadius+0.000 );
531 const SimpleDiskBounds TEOut(tecOutCables1InnerRadius[version],tecOutCables1OuterRadius[version],-0.5,0.5);
534 const SimpleDiskBounds TEOut2(tecOutCables2InnerRadius[version],tecOutCables2OuterRadius[version],-0.5,0.5);
544 unsigned layerNr = 100;
545 theCylinder =
new BoundCylinder(thePosition,theRotation,PIPE);
547 if ( theCylinder->mediumProperties().radLen() > 0. )
557 theCylinder =
new BoundCylinder(thePosition,theRotation,PIXB1);
559 if ( theCylinder->mediumProperties().radLen() > 0. )
567 theDisk =
new BoundDisk(PPIXBOut1,theRotation2,PIXBOut1);
569 if ( theDisk->mediumProperties().radLen() > 0. )
577 theCylinder =
new BoundCylinder(thePosition,theRotation,PIXB2);
579 if ( theCylinder->mediumProperties().radLen() > 0. )
587 theDisk =
new BoundDisk(PPIXBOut2,theRotation2,PIXBOut2);
589 if ( theDisk->mediumProperties().radLen() > 0. )
597 theDisk =
new BoundDisk(PPIXBOut3,theRotation2,PIXBOut3);
599 if ( theDisk->mediumProperties().radLen() > 0. )
607 theCylinder =
new BoundCylinder(thePosition,theRotation,PIXB3);
609 if ( theCylinder->mediumProperties().radLen() > 0. )
617 theDisk =
new BoundDisk(PPIXBOut4,theRotation2,PIXBOut4);
619 if ( theDisk->mediumProperties().radLen() > 0. )
627 theDisk =
new BoundDisk(PPIXBOut,theRotation2,PIXBOut);
629 if ( theDisk->mediumProperties().radLen() > 0. )
637 theDisk =
new BoundDisk(PPIXD1,theRotation2,PIXD1);
639 if ( theDisk->mediumProperties().radLen() > 0. )
647 theDisk =
new BoundDisk(PPIXD2,theRotation2,PIXD2);
649 if ( theDisk->mediumProperties().radLen() > 0. )
657 theCylinder =
new BoundCylinder(thePosition,theRotation,PIXBOut5);
659 if ( theCylinder->mediumProperties().radLen() > 0. )
667 theDisk =
new BoundDisk(PPIXBOut6,theRotation2,PIXBOut6);
669 if ( theDisk->mediumProperties().radLen() > 0. )
679 theCylinder =
new BoundCylinder(thePosition,theRotation,TIB1);
680 theCylinder->setMediumProperties(*
_theMPTIB1);
681 if ( theCylinder->mediumProperties().radLen() > 0. )
689 theCylinder =
new BoundCylinder(thePosition,theRotation,TIB2);
690 theCylinder->setMediumProperties(*
_theMPTIB2);
691 if ( theCylinder->mediumProperties().radLen() > 0. )
699 theCylinder =
new BoundCylinder(thePosition,theRotation,TIB3);
700 theCylinder->setMediumProperties(*
_theMPTIB3);
701 if ( theCylinder->mediumProperties().radLen() > 0. )
709 theCylinder =
new BoundCylinder(thePosition,theRotation,TIB4);
710 theCylinder->setMediumProperties(*
_theMPTIB4);
711 if ( theCylinder->mediumProperties().radLen() > 0. )
719 theDisk =
new BoundDisk(PTIBEOut,theRotation2,TIBEOut);
721 if ( theDisk->mediumProperties().radLen() > 0. )
729 theDisk =
new BoundDisk(PTIBEOut2,theRotation2,TIBEOut2);
731 if ( theDisk->mediumProperties().radLen() > 0. )
741 theDisk =
new BoundDisk(PTID1,theRotation2,TID1);
743 if ( theDisk->mediumProperties().radLen() > 0. )
751 theDisk =
new BoundDisk(PTID2,theRotation2,TID2);
753 if ( theDisk->mediumProperties().radLen() > 0. )
762 theDisk =
new BoundDisk(PTID3,theRotation2,TID3);
764 if ( theDisk->mediumProperties().radLen() > 0. )
772 theDisk =
new BoundDisk(PTIDEOut,theRotation2,TIDEOut);
774 if ( theDisk->mediumProperties().radLen() > 0. )
785 theCylinder =
new BoundCylinder(thePosition,theRotation,TOBCIn);
787 if ( theCylinder->mediumProperties().radLen() > 0. )
795 theCylinder =
new BoundCylinder(thePosition,theRotation,TOB1);
796 theCylinder->setMediumProperties(*
_theMPTOB1);
797 if ( theCylinder->mediumProperties().radLen() > 0. )
805 theCylinder =
new BoundCylinder(thePosition,theRotation,TOB2);
806 theCylinder->setMediumProperties(*
_theMPTOB2);
807 if ( theCylinder->mediumProperties().radLen() > 0. )
815 theCylinder =
new BoundCylinder(thePosition,theRotation,TOB3);
816 theCylinder->setMediumProperties(*
_theMPTOB3);
817 if ( theCylinder->mediumProperties().radLen() > 0. )
825 theCylinder =
new BoundCylinder(thePosition,theRotation,TOB4);
826 theCylinder->setMediumProperties(*
_theMPTOB4);
827 if ( theCylinder->mediumProperties().radLen() > 0. )
835 theCylinder =
new BoundCylinder(thePosition,theRotation,TOB5);
836 theCylinder->setMediumProperties(*
_theMPTOB5);
837 if ( theCylinder->mediumProperties().radLen() > 0. )
845 theCylinder =
new BoundCylinder(thePosition,theRotation,TOB6);
846 theCylinder->setMediumProperties(*
_theMPTOB6);
847 if ( theCylinder->mediumProperties().radLen() > 0. )
855 theDisk =
new BoundDisk(PTOBEOut,theRotation2,TOBEOut);
857 if ( theDisk->mediumProperties().radLen() > 0. )
867 theDisk =
new BoundDisk(PTEC1,theRotation2,TEC1);
869 if ( theDisk->mediumProperties().radLen() > 0. )
877 theDisk =
new BoundDisk(PTEC2,theRotation2,TEC2);
879 if ( theDisk->mediumProperties().radLen() > 0. )
887 theDisk =
new BoundDisk(PTEC3,theRotation2,TEC3);
889 if ( theDisk->mediumProperties().radLen() > 0. )
897 theDisk =
new BoundDisk(PTEC4,theRotation2,TEC4);
899 if ( theDisk->mediumProperties().radLen() > 0. )
907 theDisk =
new BoundDisk(PTEC5,theRotation2,TEC5);
909 if ( theDisk->mediumProperties().radLen() > 0. )
917 theDisk =
new BoundDisk(PTEC6,theRotation2,TEC6);
919 if ( theDisk->mediumProperties().radLen() > 0. )
927 theDisk =
new BoundDisk(PTEC7,theRotation2,TEC7);
929 if ( theDisk->mediumProperties().radLen() > 0. )
937 theDisk =
new BoundDisk(PTEC8,theRotation2,TEC8);
939 if ( theDisk->mediumProperties().radLen() > 0. )
947 theDisk =
new BoundDisk(PTEC9,theRotation2,TEC9);
949 if ( theDisk->mediumProperties().radLen() > 0. )
960 theCylinder =
new BoundCylinder(thePosition,theRotation,TBOut);
962 if ( theCylinder->mediumProperties().radLen() > 0. )
970 theDisk =
new BoundDisk(PTEOut,theRotation2,TEOut);
972 if ( theDisk->mediumProperties().radLen() > 0. )
980 theDisk =
new BoundDisk(PTEOut2,theRotation2,TEOut2);
982 if ( theDisk->mediumProperties().radLen() > 0. )
998 std::list<TrackerLayer>::const_iterator cyliterOut=
cylinderBegin();
1000 if ( cyliterOut->forward() ) {
1001 zin = cyliterOut->disk()->position().z();
1002 rin = cyliterOut->disk()->outerRadius();
1004 zin = cyliterOut->cylinder()->bounds().length()/2.;
1005 rin = cyliterOut->cylinder()->bounds().width()/2.;
1014 if ( cyliterOut->forward() ) {
1015 zout = cyliterOut->disk()->position().z();
1016 rout = cyliterOut->disk()->outerRadius();
1018 zout = cyliterOut->cylinder()->bounds().length()/2.;
1019 rout = cyliterOut->cylinder()->bounds().width()/2.;
1023 if ( zout < zin || rout < rin ) {
1024 throw cms::Exception(
"FastSimulation/TrackerInteractionGeometry ")
1025 <<
" WARNING with cylinder number " << nCyl
1026 <<
" (Active Layer Number = " << cyliterOut->layerNumber()
1027 <<
" Forward ? " << cyliterOut->forward() <<
" ) "
1028 <<
" has dimensions smaller than previous cylinder : " << std::endl
1029 <<
" zout/zin = " << zout <<
" " << zin << std::endl
1030 <<
" rout/rin = " << rout <<
" " << rin << std::endl;
1054 std::vector<double>
min;
1055 for (
unsigned iLayer=0; iLayer<
fudgeFactor.size(); ++iLayer ) {
1056 if ( layerNr !=
fudgeLayer[iLayer] )
continue;
1064 std::vector<double>
max;
1065 for (
unsigned iLayer=0; iLayer<
fudgeFactor.size(); ++iLayer ) {
1066 if ( layerNr !=
fudgeLayer[iLayer] )
continue;
1074 std::vector<double> fudge;
1075 for (
unsigned iLayer=0; iLayer<
fudgeFactor.size(); ++iLayer ) {
1076 if ( layerNr !=
fudgeLayer[iLayer] )
continue;
std::vector< double > pixelOutCablesLength
MediumProperties * _theMPEndcap
The Tracker EndCap layers.
std::vector< double > tibOutCables2OuterRadius
T getParameter(std::string const &) const
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)
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