- TGeoTube** coolingtubeshape[fgkcoolingtubenumber];
- for(Int_t i=0; i<fgkcoolingtubenumber; i++) coolingtubeshape[i] =
- new TGeoTube*[2];
- // Ladder Cooling Tubes
- coolingtubeshape[0][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
- 0.25 * (fgkSSDSensorLength-2.*fgkSSDModuleStiffenerPosition[1]
- - 2.*fgkSSDCoolingBlockWidth-fgkCoolingTubeSupportWidth));
- coolingtubeshape[0][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
- coolingtubeshape[0][0]->GetDz());
- coolingtubeshape[1][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
- 0.5*(fgkSSDModuleStiffenerPosition[1]
- - fgkSSDSensorOverlap));
- coolingtubeshape[1][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
- coolingtubeshape[1][0]->GetDz());
- coolingtubeshape[2][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
- 0.5*fgkSSDModuleStiffenerPosition[1]);
- coolingtubeshape[2][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
- coolingtubeshape[2][0]->GetDz());
- // End Ladder Cooling Tubes
- TGeoTube** endladdercoolingtubeshape[fgkendladdercoolingtubenumber];
- for(Int_t i=0; i<fgkendladdercoolingtubenumber; i++)
- endladdercoolingtubeshape[i] = new TGeoTube*[2];
- endladdercoolingtubeshape[0][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
- 0.50 * (fgkEndLadderMountingBlockPosition[0]
- - fgkendladdercoolingsupportdistance[0]));
- endladdercoolingtubeshape[0][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
- endladdercoolingtubeshape[0][0]->GetDz());
- endladdercoolingtubeshape[1][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
- 0.50 * (fgkendladdercoolingsupportdistance[0]
- + fgkendladdercoolingsupportdistance[1]
- - fgkCoolingTubeSupportWidth));
- endladdercoolingtubeshape[1][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
- endladdercoolingtubeshape[1][0]->GetDz());
- endladdercoolingtubeshape[2][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
- 0.50 * (fgkEndLadderCarbonFiberLowerJunctionLength[0]
- - fgkEndLadderMountingBlockPosition[0]
- - fgkendladdercoolingsupportdistance[1]
- - fgkCoolingTubeSupportWidth));
- endladdercoolingtubeshape[2][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
- endladdercoolingtubeshape[2][0]->GetDz());
- endladdercoolingtubeshape[3][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
- 0.50 * (fgkMountingBlockToSensorSupport
- - 0.50 * (fgkSSDFlexHoleWidth-fgkSSDSensorSideSupportWidth)
- - fgkSSDStiffenerWidth-fgkSSDModuleStiffenerPosition[1]
- + fgkSSDSensorOverlap
- + fgkEndLadderCarbonFiberLowerJunctionLength[1]
- - fgkendladdercoolingsupportdistance[2]
- - fgkEndLadderMountingBlockPosition[1]
- - fgkCoolingTubeSupportWidth));
- endladdercoolingtubeshape[3][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
- endladdercoolingtubeshape[3][0]->GetDz());
- endladdercoolingtubeshape[4][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
- 0.50 * fgkendladdercoolingsupportdistance[2]);
- endladdercoolingtubeshape[4][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
- endladdercoolingtubeshape[4][0]->GetDz());
- // Ladder Cooling Tubes
- TGeoVolume** coolingtube[fgkcoolingtubenumber];
- for(Int_t i=0; i<fgkcoolingtubenumber; i++) coolingtube[i] =
- new TGeoVolume*[2];
- coolingtube[0][0] = new TGeoVolume("OuterCoolingTube1",coolingtubeshape[0][0],
- fSSDCoolingTubePhynox);
- coolingtube[0][1] = new TGeoVolume("InnerCoolingTube1",coolingtubeshape[0][1],
- fSSDCoolingTubeWater);
- coolingtube[1][0] = new TGeoVolume("OuterCoolingTube2",coolingtubeshape[1][0],
- fSSDCoolingTubePhynox);
- coolingtube[1][1] = new TGeoVolume("InnerCoolingTube2",coolingtubeshape[1][1],
- fSSDCoolingTubeWater);
- coolingtube[2][0] = new TGeoVolume("OuterCoolingTube3",coolingtubeshape[2][0],
- fSSDCoolingTubePhynox);
- coolingtube[2][1] = new TGeoVolume("InnerCoolingTube3",coolingtubeshape[2][1],
- fSSDCoolingTubeWater);
- for(Int_t i=0; i<fgkcoolingtubenumber; i++){
- coolingtube[i][0]->SetLineColor(fColorPhynox);
- coolingtube[i][1]->SetLineColor(fColorWater);
- }
- // End Ladder Cooling Tubes
- TGeoVolume** endladdercoolingtube[fgkendladdercoolingtubenumber];
- for(Int_t i=0; i<fgkendladdercoolingtubenumber; i++)
- endladdercoolingtube[i] = new TGeoVolume*[2];
- endladdercoolingtube[0][0] = new TGeoVolume("OuterEndLadderCoolingTube1",
- endladdercoolingtubeshape[0][0],
- fSSDCoolingTubePhynox);
- endladdercoolingtube[0][1] = new TGeoVolume("InnerEndlLadderCoolingTube1",
- endladdercoolingtubeshape[0][1],
- fSSDCoolingTubeWater);
- endladdercoolingtube[1][0] = new TGeoVolume("OuterEndLadderCoolingTube2",
- endladdercoolingtubeshape[1][0],
- fSSDCoolingTubePhynox);
- endladdercoolingtube[1][1] = new TGeoVolume("InnerEndlLadderCoolingTube2",
- endladdercoolingtubeshape[1][1],
- fSSDCoolingTubeWater);
- endladdercoolingtube[2][0] = new TGeoVolume("OuterEndLadderCoolingTube3",
- endladdercoolingtubeshape[2][0],
- fSSDCoolingTubePhynox);
- endladdercoolingtube[2][1] = new TGeoVolume("InnerEndlLadderCoolingTube3",
- endladdercoolingtubeshape[2][1],
- fSSDCoolingTubeWater);
- endladdercoolingtube[3][0] = new TGeoVolume("OuterEndLadderCoolingTube4",
- endladdercoolingtubeshape[3][0],
- fSSDCoolingTubePhynox);
- endladdercoolingtube[3][1] = new TGeoVolume("InnerEndlLadderCoolingTube4",
- endladdercoolingtubeshape[3][1],
- fSSDCoolingTubeWater);
- endladdercoolingtube[4][0] = new TGeoVolume("OuterEndLadderCoolingTube5",
- endladdercoolingtubeshape[4][0],
- fSSDCoolingTubePhynox);
- endladdercoolingtube[4][1] = new TGeoVolume("InnerEndlLadderCoolingTube5",
- endladdercoolingtubeshape[4][1],
- fSSDCoolingTubeWater);
- for(Int_t i=0; i<fgkendladdercoolingtubenumber; i++){
- endladdercoolingtube[i][0]->SetLineColor(fColorPhynox);
- endladdercoolingtube[i][1]->SetLineColor(fColorWater);
- }
+ TGeoTube *coolingtubeshape[2];
+ // Ladder Cooling Tubes
+
+ // MvL: Simplified cooling tubes
+ coolingtubeshape[0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,0.5*fgkCoolingTubeLength);
+ coolingtubeshape[1] = new TGeoTube(0.0,fgkCoolingTubeRmin,coolingtubeshape[0]->GetDz());
+
+ // End Ladder Cooling Tubes
+ TGeoTube** endladdercoolingtubeshape[fgkendladdercoolingtubenumber];
+ for(Int_t i=0; i<fgkendladdercoolingtubenumber; i++)
+ endladdercoolingtubeshape[i] = new TGeoTube*[2];
+
+ Double_t sensZshift = 0.5*fgkCarbonFiberJunctionWidth - fgkCarbonFiberLowerSupportWidth - fgkLowerSupportToSensorZ;
+ endladdercoolingtubeshape[0][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
+ 0.5*(fgkEndLadderCarbonFiberLowerJunctionLength[0] - sensZshift));
+ endladdercoolingtubeshape[0][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
+ endladdercoolingtubeshape[0][0]->GetDz());
+ endladdercoolingtubeshape[1][0] = new TGeoTube(fgkCoolingTubeRmin,fgkCoolingTubeRmax,
+ 0.5*(fgkEndLadderCarbonFiberLowerJunctionLength[1] + sensZshift));
+ endladdercoolingtubeshape[1][1] = new TGeoTube(0.0,fgkCoolingTubeRmin,
+ endladdercoolingtubeshape[1][0]->GetDz()-0.5*fgkSSDTolerance);
+ // Ladder Cooling Tubes
+ TGeoVolume* coolingtube[2];
+ coolingtube[0] = new TGeoVolume("OuterCoolingTube1",coolingtubeshape[0], fSSDCoolingTubePhynox);
+ coolingtube[1] = new TGeoVolume("InnerCoolingTube1",coolingtubeshape[1], fSSDCoolingTubeWater);
+ coolingtube[0]->SetLineColor(fColorPhynox);
+ coolingtube[1]->SetLineColor(fColorWater);
+
+ // End Ladder Cooling Tubes
+ TGeoVolume** endladdercoolingtube[fgkendladdercoolingtubenumber];
+ for(Int_t i=0; i<fgkendladdercoolingtubenumber; i++)
+ endladdercoolingtube[i] = new TGeoVolume*[2];
+ endladdercoolingtube[0][0] = new TGeoVolume("OuterEndLadderCoolingTube1",
+ endladdercoolingtubeshape[0][0],
+ fSSDCoolingTubePhynox);
+ endladdercoolingtube[0][1] = new TGeoVolume("InnerEndlLadderCoolingTube1",
+ endladdercoolingtubeshape[0][1],
+ fSSDCoolingTubeWater);
+ endladdercoolingtube[1][0] = new TGeoVolume("OuterEndLadderCoolingTube2",
+ endladdercoolingtubeshape[1][0],
+ fSSDCoolingTubePhynox);
+ endladdercoolingtube[1][1] = new TGeoVolume("InnerEndlLadderCoolingTube2",
+ endladdercoolingtubeshape[1][1],
+ fSSDCoolingTubeWater);
+ for(Int_t i=0; i<fgkendladdercoolingtubenumber; i++){
+ endladdercoolingtube[i][0]->SetLineColor(fColorPhynox);
+ endladdercoolingtube[i][1]->SetLineColor(fColorWater);
+ }
+