fV0CLidThickness(0.30),
fV0CCellThickness(2.00),
fV0CBoxThickness(4.70),
- fV0COffsetFibers(1.0),
+ fV0COffsetFibers(1.125),
fV0CLightYield(93.75),
fV0CLightAttenuation(0.05),
fV0CnMeters(15.0),
fV0CLidThickness(0.30),
fV0CCellThickness(2.00),
fV0CBoxThickness(4.70),
- fV0COffsetFibers(1.0),
+ fV0COffsetFibers(1.125),
fV0CLightYield(93.75),
fV0CLightAttenuation(0.05),
fV0CnMeters(15.0),
partube[0] = fV0CRMin;
partube[1] = fV0CRBox;
partube[2] = fV0CLidThickness/2.0;
- TGeoTube *sV0CA = new TGeoTube("V0CA", partube[0], partube[1], partube[2]);
- TGeoVolume *v0CA = new TGeoVolume("V0CA",sV0CA,medV0CCar);
- TGeoTranslation *tr2 = new TGeoTranslation(0.,0., fV0CBoxThickness/2.0-partube[2]);
- TGeoTranslation *tr3 = new TGeoTranslation(0.,0.,-fV0CBoxThickness/2.0+partube[2]);
- v0RI->AddNode(v0CA,1,tr2);
- v0RI->AddNode(v0CA,2,tr3);
- v0CA->SetLineColor(kYellow);
+ // TGeoTube *sV0CA = new TGeoTube("V0CA", partube[0], partube[1], partube[2]);
+ // TGeoVolume *v0CA = new TGeoVolume("V0CA",sV0CA,medV0CCar);
+ // TGeoTranslation *tr2 = new TGeoTranslation(0.,0., fV0CBoxThickness/2.0-partube[2]);
+ // TGeoTranslation *tr3 = new TGeoTranslation(0.,0.,-fV0CBoxThickness/2.0+partube[2]);
+ // v0RI->AddNode(v0CA,1,tr2);
+ // v0RI->AddNode(v0CA,2,tr3);
+ // v0CA->SetLineColor(kYellow);
+
+ Float_t rInt1 = 11.5, rOut1 = 20.0, rInt2 = 9.0;
+
+ TGeoTube *sV0CA4 = new TGeoTube("V0CA4", partube[0], rInt2, partube[2] - 0.1);
+ TGeoVolume *v0CA4 = new TGeoVolume("V0CA4",sV0CA4,medV0CCar);
+ TGeoTranslation *tr21 = new TGeoTranslation(0.,0., fV0CBoxThickness/2.0-partube[2] + 0.1);
+ v0RI->AddNode(v0CA4,1,tr21);
+ v0CA4->SetLineColor(kYellow);
+
+ TGeoTube *sV0CA5 = new TGeoTube("V0CA5", rInt2, partube[1], partube[2]);
+ TGeoVolume *v0CA5 = new TGeoVolume("V0CA5",sV0CA5,medV0CCar);
+ TGeoTranslation *tr22 = new TGeoTranslation(0.,0., fV0CBoxThickness/2.0-partube[2]);
+ v0RI->AddNode(v0CA5,1,tr22);
+ v0CA5->SetLineColor(kYellow);
+
+ TGeoTube *sV0CA1 = new TGeoTube("V0CA1",partube[0], rInt1, partube[2]);
+ TGeoVolume *v0CA1 = new TGeoVolume("V0CA1",sV0CA1,medV0CCar);
+ TGeoTranslation *tr31 = new TGeoTranslation(0.,0.,-fV0CBoxThickness/2.0+partube[2]);
+ v0RI->AddNode(v0CA1,1,tr31);
+ v0CA1->SetLineColor(kYellow);
+
+ TGeoTube *sV0CA2 = new TGeoTube("V0CA2", rInt1, rOut1, partube[2] - 0.1);
+ TGeoVolume *v0CA2 = new TGeoVolume("V0CA2",sV0CA2,medV0CCar);
+ TGeoTranslation *tr32 = new TGeoTranslation(0.,0.,-fV0CBoxThickness/2.0+partube[2] - 0.1);
+ v0RI->AddNode(v0CA2,1,tr32);
+ v0CA2->SetLineColor(kYellow);
+
+ TGeoTube *sV0CA3 = new TGeoTube("V0CA3", rOut1, partube[1], partube[2]);
+ TGeoVolume *v0CA3 = new TGeoVolume("V0CA3",sV0CA3,medV0CCar);
+ TGeoTranslation *tr33 = new TGeoTranslation(0.,0.,-fV0CBoxThickness/2.0+partube[2]);
+ v0RI->AddNode(v0CA3,1,tr33);
+ v0CA3->SetLineColor(kYellow);
// Creation of aluminum rings 3.0 mm thick to maintain the v0RI pieces :
partube[0] = fV0CRMin - 0.3;
TGeoTubeSeg *sV0R1 = new TGeoTubeSeg("V0R1", partubs[0], partubs[1], partubs[2],
partubs[3], partubs[4]);
TGeoVolume *v0R1 = new TGeoVolume("V0R1",sV0R1,medV0CSci);
- TGeoTranslation *tr4 = new TGeoTranslation(0.,0.,-offset);
+ TGeoTranslation *tr4 = new TGeoTranslation(0.,0., offset);
v0R0->AddNode(v0R1,1,tr4);
v0R1->SetLineColor(kColorVZERO);
TGeoTubeSeg *sV0R2 = new TGeoTubeSeg("V0R2", partubs[0], partubs[1], partubs[2],
partubs[3], partubs[4]);
TGeoVolume *v0R2 = new TGeoVolume("V0R2",sV0R2,medV0CSci);
- TGeoTranslation *tr5 = new TGeoTranslation(0.0,0.2,-offset + fV0COffsetFibers);
+ TGeoTranslation *tr5 = new TGeoTranslation(0.0,0.2, offset - fV0COffsetFibers);
v0R0->AddNode(v0R2,1,tr5);
v0R2->SetLineColor(kColorVZERO);
TGeoTubeSeg *sV0R3 = new TGeoTubeSeg("V0R3", partubs[0], partubs[1], partubs[2],
partubs[3], partubs[4]);
TGeoVolume *v0R3 = new TGeoVolume("V0R3",sV0R3,medV0CSci);
- TGeoTranslation *tr6 = new TGeoTranslation(0.,0.2,-offset + 2.0*fV0COffsetFibers);
+ TGeoTranslation *tr6 = new TGeoTranslation(0.,0.2, offset - 2.0*fV0COffsetFibers);
v0R0->AddNode(v0R3,1,tr6);
v0R3->SetLineColor(kColorVZERO);
partubs[3] = 112.5-22.5;
TGeoTubeSeg *sV0R5 = new TGeoTubeSeg("V0R5", partubs[0], partubs[1], partubs[2],
partubs[3], partubs[4]);
TGeoVolume *v0R5 = new TGeoVolume("V0R5",sV0R5,medV0CSci);
- TGeoTranslation *tr7 = new TGeoTranslation(0.,0.0,-offset + 2.0*fV0COffsetFibers);
+ TGeoTranslation *tr7 = new TGeoTranslation(0.,0.0, offset - 2.0*fV0COffsetFibers + 0.25);
v0R0->AddNode(v0R5,1,tr7);
v0R5->SetLineColor(kColorVZERO);
partubs[3] = 112.5-22.5+x;
TGeoRotation *rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(-90.0);
- double FEEshiftR2Sec1 = fV0AR6 + fV0AOctH2 + fV0APlaAl;
- TGeoCombiTrans *posFicFEEBSec1 = new TGeoCombiTrans("posFicFEEBSec1", FEEshiftR2Sec1*cos225 + 2.0, 0, 7.5, rot);
+ double aFEEshiftR2Sec1 = fV0AR6 + fV0AOctH2 + fV0APlaAl;
+ TGeoCombiTrans *posFicFEEBSec1 = new TGeoCombiTrans("posFicFEEBSec1", aFEEshiftR2Sec1*cos225 + 2.0, 0, 7.5, rot);
posFicFEEBSec1->RegisterYourself();
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(-90.0+45.0);
- TGeoCombiTrans *posFicFEEBUpSec1 = new TGeoCombiTrans("posFicFEEBUpSec1", (FEEshiftR2Sec1*cos225 + 2.0 )*cos45, (FEEshiftR2Sec1*cos225 + 2.0 )*sin45, 7.5, rot);
+ TGeoCombiTrans *posFicFEEBUpSec1 = new TGeoCombiTrans("posFicFEEBUpSec1", (aFEEshiftR2Sec1*cos225 + 2.0 )*cos45, (aFEEshiftR2Sec1*cos225 + 2.0 )*sin45, 7.5, rot);
posFicFEEBUpSec1->RegisterYourself();
for (int i=0;i<2;i++) {
v0APts[0+8*i] = fV0AOctH2/2.; v0APts[1+8*i] = fV0AFEEBHt/2. + 2.5;
v0APts[6+8*i] = -fV0AOctH2/2.; v0APts[7+8*i] = fV0AFEEBHt/2.+ 2.5;
}
new TGeoArb8("sV0AFicOct2Sec1", (fV0ASciWd+2*fV0AOctWd)/2., v0APts);
- TGeoTranslation *posFicOct2Sec1 = new TGeoTranslation("posFicOct2Sec1",(FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0,0.0,0.0);
+ TGeoTranslation *posFicOct2Sec1 = new TGeoTranslation("posFicOct2Sec1",(aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0,0.0,0.0);
posFicOct2Sec1->RegisterYourself();
rot = new TGeoRotation("rot");
rot->RotateZ(-90.0+45.0+90.0);
- TGeoCombiTrans *posFicOct2UpSec1 = new TGeoCombiTrans("posFicOct2UpSec1",((FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot);
+ TGeoCombiTrans *posFicOct2UpSec1 = new TGeoCombiTrans("posFicOct2UpSec1",((aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot);
posFicOct2UpSec1->RegisterYourself();
/// Frame
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(+90.0);
- double FEEshiftR = fV0AR6 + fV0AOctH2 + fV0APlaAl;
- v0LE->AddNode(v0AFEE,1, new TGeoCombiTrans( FEEshiftR*cos225+2.0, 0, 7.5, rot));
+ double aFEEshiftR = fV0AR6 + fV0AOctH2 + fV0APlaAl;
+ v0LE->AddNode(v0AFEE,1, new TGeoCombiTrans( aFEEshiftR*cos225+2.0, 0, 7.5, rot));
for (int i=0;i<2;i++) {
v0APts[0+8*i] = fV0AOctH2/2.; v0APts[1+8*i] = fV0AFEEBHt/2. + 2.5;
v0APts[2+8*i] = fV0AOctH2/2.; v0APts[3+8*i] = -fV0AFEEBHt/2.- 2.5;
TGeoArb8 *sV0AFEEOct2 = new TGeoArb8("sV0AFEEOct2", (fV0ASciWd+2*fV0AOctWd)/2., v0APts);
TGeoVolume *v0AFEEOct2 = new TGeoVolume("V0AFEEOct2",sV0AFEEOct2, medV0ASup);
v0AFEEOct2->SetLineColor(kV0AColorOct);
- v0LE->AddNode(v0AFEEOct2,1, new TGeoTranslation((FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0,0.0,0.0));
+ v0LE->AddNode(v0AFEEOct2,1, new TGeoTranslation((aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0,0.0,0.0));
/// Definition sector 2
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(-90.0);
- double FEEshiftR2Sec2 = fV0AR6 + fV0AOctH2 + fV0APlaAl;
- TGeoCombiTrans *posFicFEEBSec2 = new TGeoCombiTrans("posFicFEEBSec2", FEEshiftR2Sec2*cos225 + 2.0, 0, 7.5, rot);
+ double aFEEshiftR2Sec2 = fV0AR6 + fV0AOctH2 + fV0APlaAl;
+ TGeoCombiTrans *posFicFEEBSec2 = new TGeoCombiTrans("posFicFEEBSec2", aFEEshiftR2Sec2*cos225 + 2.0, 0, 7.5, rot);
posFicFEEBSec2->RegisterYourself();
for (int i=0;i<2;i++) {
v0APts[0+8*i] = fV0AOctH2/2.; v0APts[1+8*i] = fV0AFEEBHt/2. + 2.5;
v0APts[6+8*i] = -fV0AOctH2/2.; v0APts[7+8*i] = fV0AFEEBHt/2.+ 2.5;
}
new TGeoArb8("sV0AFicOct2Sec2", (fV0ASciWd+2*fV0AOctWd)/2., v0APts);
- TGeoTranslation *posFicOct2Sec2 = new TGeoTranslation("posFicOct2Sec2",(FEEshiftR2Sec2*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0,0.0,0.0);
+ TGeoTranslation *posFicOct2Sec2 = new TGeoTranslation("posFicOct2Sec2",(aFEEshiftR2Sec2*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0,0.0,0.0);
posFicOct2Sec2->RegisterYourself();
/// Frame
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(+90.0-45.0+90);
- v0LE->AddNode(v0AFEE2,1, new TGeoCombiTrans( (FEEshiftR2Sec1*cos225 + 2.0)*cos45, (FEEshiftR2Sec1*cos225 + 2.0)*sin45, 7.5, rot));
+ v0LE->AddNode(v0AFEE2,1, new TGeoCombiTrans( (aFEEshiftR2Sec1*cos225 + 2.0)*cos45, (aFEEshiftR2Sec1*cos225 + 2.0)*sin45, 7.5, rot));
rot = new TGeoRotation("rot");
rot->RotateZ(-90.0+45.0+90.0);
- v0LE->AddNode(v0AFEEOct2,2, new TGeoCombiTrans(((FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot));
+ v0LE->AddNode(v0AFEEOct2,2, new TGeoCombiTrans(((aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot));
//Upper supports
new TGeoCompositeShape("sV0AChaSec3","sV0ACha12Sec3+sV0ANailsSciHolesSec3");
new TGeoTubeSeg("sV0AFicR5Sec3", fV0AR4+fV0AFraWd/2., fV0AR4 + fV0AR0, fV0ASciWd/2.+2*preShapeSec3, 0, 45);
new TGeoBBox("sV0AFicFEEBSec3", fV0AFEEBWd/2., fV0AFEEBHt/2., fV0AFEEBTh/2.);
- double FEEshiftR2Sec3 = fV0AR6 + fV0AOctH2 + fV0APlaAl;
+ double aFEEshiftR2Sec3 = fV0AR6 + fV0AOctH2 + fV0APlaAl;
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(-90.0+45.0);
- TGeoCombiTrans *posFicFEEBSec3 = new TGeoCombiTrans("posFicFEEBSec3", (FEEshiftR2Sec3*cos225 + 2.0 )*cos45, (FEEshiftR2Sec3*cos225 + 2.0 )*sin45, 7.5, rot);
+ TGeoCombiTrans *posFicFEEBSec3 = new TGeoCombiTrans("posFicFEEBSec3", (aFEEshiftR2Sec3*cos225 + 2.0 )*cos45, (aFEEshiftR2Sec3*cos225 + 2.0 )*sin45, 7.5, rot);
posFicFEEBSec3->RegisterYourself();
for (int i=0;i<2;i++) {
v0APts[0+8*i] = fV0AOctH2/2.; v0APts[1+8*i] = fV0AFEEBHt/2. + 2.5;
new TGeoArb8("sV0AFicOct2Sec3", (fV0ASciWd+2*fV0AOctWd)/2., v0APts);
rot = new TGeoRotation("rot");
rot->RotateZ(-90.0+45.0+90.0);
- TGeoCombiTrans *posFicOct2UpSec3 = new TGeoCombiTrans("posFicOct2UpSec3",((FEEshiftR2Sec3*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((FEEshiftR2Sec3*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot);
+ TGeoCombiTrans *posFicOct2UpSec3 = new TGeoCombiTrans("posFicOct2UpSec3",((aFEEshiftR2Sec3*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((aFEEshiftR2Sec3*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot);
posFicOct2UpSec3->RegisterYourself();
/// Frame
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(-90.0+45.0-90);
- v0LE->AddNode(v0AFEE3,1, new TGeoCombiTrans( -(FEEshiftR2Sec1*cos225 + 2.0)*cos45, (FEEshiftR2Sec1*cos225 + 2.0)*sin45, 7.5, rot) );
+ v0LE->AddNode(v0AFEE3,1, new TGeoCombiTrans( -(aFEEshiftR2Sec1*cos225 + 2.0)*cos45, (aFEEshiftR2Sec1*cos225 + 2.0)*sin45, 7.5, rot) );
rot = new TGeoRotation("rot");
rot->RotateZ(+90.0-45.0-90.0);
- v0LE->AddNode(v0AFEEOct2,3, new TGeoCombiTrans(-((FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot));
+ v0LE->AddNode(v0AFEEOct2,3, new TGeoCombiTrans(-((aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot));
/// Definition sector 4
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(-90.0);
- double FEEshiftR2Sec4 = fV0AR6 + fV0AOctH2 + fV0APlaAl;
- TGeoCombiTrans *posFicFEEBSec4 = new TGeoCombiTrans("posFicFEEBSec4", FEEshiftR2Sec4*cos225 + 2.0, 0, 7.5, rot);
+ double aFEEshiftR2Sec4 = fV0AR6 + fV0AOctH2 + fV0APlaAl;
+ TGeoCombiTrans *posFicFEEBSec4 = new TGeoCombiTrans("posFicFEEBSec4", aFEEshiftR2Sec4*cos225 + 2.0, 0, 7.5, rot);
posFicFEEBSec4->RegisterYourself();
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(-90.0+45.0);
- TGeoCombiTrans *posFicFEEBUpSec4 = new TGeoCombiTrans("posFicFEEBUpSec4", (FEEshiftR2Sec4*cos225 + 2.0 )*cos45, (FEEshiftR2Sec4*cos225 + 2.0 )*sin45, 7.5, rot);
+ TGeoCombiTrans *posFicFEEBUpSec4 = new TGeoCombiTrans("posFicFEEBUpSec4", (aFEEshiftR2Sec4*cos225 + 2.0 )*cos45, (aFEEshiftR2Sec4*cos225 + 2.0 )*sin45, 7.5, rot);
posFicFEEBUpSec4->RegisterYourself();
for (int i=0;i<2;i++) {
v0APts[0+8*i] = fV0AOctH2/2.; v0APts[1+8*i] = fV0AFEEBHt/2. + 2.5;
v0APts[6+8*i] = -fV0AOctH2/2.; v0APts[7+8*i] = fV0AFEEBHt/2.+ 2.5;
}
new TGeoArb8("sV0AFicOct2Sec4", (fV0ASciWd+2*fV0AOctWd)/2., v0APts);
- TGeoTranslation *posFicOct2Sec4 = new TGeoTranslation("posFicOct2Sec4",(FEEshiftR2Sec4*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0,0.0,0.0);
+ TGeoTranslation *posFicOct2Sec4 = new TGeoTranslation("posFicOct2Sec4",(aFEEshiftR2Sec4*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0,0.0,0.0);
posFicOct2Sec4->RegisterYourself();
rot = new TGeoRotation("rot");
rot->RotateZ(-90.0+45.0+90.0);
- TGeoCombiTrans *posFicOct2UpSec4 = new TGeoCombiTrans("posFicOct2UpSec4",((FEEshiftR2Sec4*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((FEEshiftR2Sec4*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot);
+ TGeoCombiTrans *posFicOct2UpSec4 = new TGeoCombiTrans("posFicOct2UpSec4",((aFEEshiftR2Sec4*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*cos45,((aFEEshiftR2Sec4*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0)*sin45,0.0,rot);
posFicOct2UpSec4->RegisterYourself();
/// Frame
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(-90.0);
- v0LE->AddNode(v0AFEE4,1, new TGeoCombiTrans( -FEEshiftR2Sec1*cos225-2.0, 0, 7.5, rot));
- v0LE->AddNode(v0AFEEOct2,4, new TGeoTranslation(-1.0*((FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0),0.0,0.0));
+ v0LE->AddNode(v0AFEE4,1, new TGeoCombiTrans( -aFEEshiftR2Sec1*cos225-2.0, 0, 7.5, rot));
+ v0LE->AddNode(v0AFEEOct2,4, new TGeoTranslation(-1.0*((aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0),0.0,0.0));
//Definition of sector 5
rot = new TGeoRotation("rot");
rot->RotateX(90);
rot->RotateZ(-90.0);
- TGeoCombiTrans *posFicFEEBSec5 = new TGeoCombiTrans("posFicFEEBSec5", -FEEshiftR2Sec1*cos225 - 2.0, 0, 7.5, rot);
+ TGeoCombiTrans *posFicFEEBSec5 = new TGeoCombiTrans("posFicFEEBSec5", -aFEEshiftR2Sec1*cos225 - 2.0, 0, 7.5, rot);
posFicFEEBSec5->RegisterYourself();
- TGeoTranslation *posFicOct2Sec5 = new TGeoTranslation("posFicOct2Sec5",-1.0*((FEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0),0.0,0.0);
+ TGeoTranslation *posFicOct2Sec5 = new TGeoTranslation("posFicOct2Sec5",-1.0*((aFEEshiftR2Sec1*cos225 + 2.0) - fV0AFEEBTh/2. - 1.0),0.0,0.0);
posFicOct2Sec5->RegisterYourself();
/// Frame
}
-//_____________________________________________________________________________
-void AliVZEROv7::DrawModule() const
-{
-// Drawing is done in DrawVZERO.C
-
- AliDebug(2,"DrawModule");
-}
-
-
//_____________________________________________________________________________
void AliVZEROv7::DrawGeometry()
{
vol[2] = gMC->CurrentVolID(copy);
vol[3] = copy;
static Int_t idV0R1 = gMC->VolId("V0R1");
- static Int_t idV0L1 = gMC->VolId("V0L1");
+
+ static Int_t idV0L11 = gMC->VolId("V0L1Sec1");
+ static Int_t idV0L12 = gMC->VolId("V0L1Sec2");
+ static Int_t idV0L13 = gMC->VolId("V0L1Sec3");
+ static Int_t idV0L14 = gMC->VolId("V0L1Sec4");
static Int_t idV0L15 = gMC->VolId("V0L15");
static Int_t idV0L16 = gMC->VolId("V0L16");
static Int_t idV0L17 = gMC->VolId("V0L17");
static Int_t idV0L18 = gMC->VolId("V0L18");
static Int_t idV0R2 = gMC->VolId("V0R2");
- static Int_t idV0L2 = gMC->VolId("V0L2");
+
+ static Int_t idV0L21 = gMC->VolId("V0L2Sec1");
+ static Int_t idV0L22 = gMC->VolId("V0L2Sec2");
+ static Int_t idV0L23 = gMC->VolId("V0L2Sec3");
+ static Int_t idV0L24 = gMC->VolId("V0L2Sec4");
static Int_t idV0L25 = gMC->VolId("V0L25");
static Int_t idV0L26 = gMC->VolId("V0L26");
static Int_t idV0L27 = gMC->VolId("V0L27");
static Int_t idV0L28 = gMC->VolId("V0L28");
static Int_t idV0R3 = gMC->VolId("V0R3");
- static Int_t idV0L3 = gMC->VolId("V0L3");
+
+ static Int_t idV0L31 = gMC->VolId("V0L3Sec1");
+ static Int_t idV0L32 = gMC->VolId("V0L3Sec2");
+ static Int_t idV0L33 = gMC->VolId("V0L3Sec3");
+ static Int_t idV0L34 = gMC->VolId("V0L3Sec4");
static Int_t idV0L35 = gMC->VolId("V0L35");
static Int_t idV0L36 = gMC->VolId("V0L36");
static Int_t idV0L37 = gMC->VolId("V0L37");
static Int_t idV0L38 = gMC->VolId("V0L38");
static Int_t idV0R4 = gMC->VolId("V0R4");
- static Int_t idV0L4 = gMC->VolId("V0L4");
+
+ static Int_t idV0L41 = gMC->VolId("V0L4Sec1");
+ static Int_t idV0L42 = gMC->VolId("V0L4Sec2");
+ static Int_t idV0L43 = gMC->VolId("V0L4Sec3");
+ static Int_t idV0L44 = gMC->VolId("V0L4Sec4");
static Int_t idV0L45 = gMC->VolId("V0L45");
static Int_t idV0L46 = gMC->VolId("V0L46");
static Int_t idV0L47 = gMC->VolId("V0L47");
double lightAttenuation;
double nMeters;
double fibToPhot;
- if ( gMC->CurrentVolID(copy) == idV0R1 || gMC->CurrentVolID(copy) == idV0L1 || gMC->CurrentVolID(copy) == idV0L15 || gMC->CurrentVolID(copy) == idV0L16 || gMC->CurrentVolID(copy) == idV0L17 || gMC->CurrentVolID(copy) == idV0L18 )
- ringNumber = 1;
- else if ( gMC->CurrentVolID(copy) == idV0R2 || gMC->CurrentVolID(copy) == idV0L2 || gMC->CurrentVolID(copy) == idV0L25 || gMC->CurrentVolID(copy) == idV0L26 || gMC->CurrentVolID(copy) == idV0L27 || gMC->CurrentVolID(copy) == idV0L28 )
- ringNumber = 2;
- else if ( gMC->CurrentVolID(copy) == idV0R3 || gMC->CurrentVolID(copy) == idV0R4
- || gMC->CurrentVolID(copy) == idV0L3 || gMC->CurrentVolID(copy) == idV0L35 || gMC->CurrentVolID(copy) == idV0L36 || gMC->CurrentVolID(copy) == idV0L37 || gMC->CurrentVolID(copy) == idV0L38 ) ringNumber = 3;
- else if ( gMC->CurrentVolID(copy) == idV0R5 || gMC->CurrentVolID(copy) == idV0R6
- || gMC->CurrentVolID(copy) == idV0L4 || gMC->CurrentVolID(copy) == idV0L45 || gMC->CurrentVolID(copy) == idV0L46 || gMC->CurrentVolID(copy) == idV0L47 || gMC->CurrentVolID(copy) == idV0L48 ) ringNumber = 4;
+ if ( gMC->CurrentVolID(copy) == idV0R1 ||
+ gMC->CurrentVolID(copy) == idV0L11 ||
+ gMC->CurrentVolID(copy) == idV0L12 ||
+ gMC->CurrentVolID(copy) == idV0L13 ||
+ gMC->CurrentVolID(copy) == idV0L14 ||
+ gMC->CurrentVolID(copy) == idV0L15 ||
+ gMC->CurrentVolID(copy) == idV0L16 ||
+ gMC->CurrentVolID(copy) == idV0L17 ||
+ gMC->CurrentVolID(copy) == idV0L18
+ )
+ ringNumber = 1;
+
+ else if ( gMC->CurrentVolID(copy) == idV0R2 ||
+ gMC->CurrentVolID(copy) == idV0L21 ||
+ gMC->CurrentVolID(copy) == idV0L22 ||
+ gMC->CurrentVolID(copy) == idV0L23 ||
+ gMC->CurrentVolID(copy) == idV0L24 ||
+ gMC->CurrentVolID(copy) == idV0L25 ||
+ gMC->CurrentVolID(copy) == idV0L26 ||
+ gMC->CurrentVolID(copy) == idV0L27 ||
+ gMC->CurrentVolID(copy) == idV0L28
+ )
+ ringNumber = 2;
+
+ else if ( gMC->CurrentVolID(copy) == idV0R3 ||
+ gMC->CurrentVolID(copy) == idV0R4 ||
+ gMC->CurrentVolID(copy) == idV0L31 ||
+ gMC->CurrentVolID(copy) == idV0L32 ||
+ gMC->CurrentVolID(copy) == idV0L33 ||
+ gMC->CurrentVolID(copy) == idV0L34 ||
+ gMC->CurrentVolID(copy) == idV0L35 ||
+ gMC->CurrentVolID(copy) == idV0L36 ||
+ gMC->CurrentVolID(copy) == idV0L37 ||
+ gMC->CurrentVolID(copy) == idV0L38
+ )
+ ringNumber = 3;
+ else if ( gMC->CurrentVolID(copy) == idV0R5 ||
+ gMC->CurrentVolID(copy) == idV0R6 ||
+ gMC->CurrentVolID(copy) == idV0L41 ||
+ gMC->CurrentVolID(copy) == idV0L42 ||
+ gMC->CurrentVolID(copy) == idV0L43 ||
+ gMC->CurrentVolID(copy) == idV0L44 ||
+ gMC->CurrentVolID(copy) == idV0L45 ||
+ gMC->CurrentVolID(copy) == idV0L46 ||
+ gMC->CurrentVolID(copy) == idV0L47 ||
+ gMC->CurrentVolID(copy) == idV0L48
+ ) ringNumber = 4;
+
else ringNumber = 0;
+
if (ringNumber) {
- if (gMC->CurrentVolID(copy) == idV0L1 || gMC->CurrentVolID(copy) == idV0L15 || gMC->CurrentVolID(copy) == idV0L16 || gMC->CurrentVolID(copy) == idV0L17 || gMC->CurrentVolID(copy) == idV0L18 || gMC->CurrentVolID(copy) == idV0L2 || gMC->CurrentVolID(copy) == idV0L25 || gMC->CurrentVolID(copy) == idV0L26 || gMC->CurrentVolID(copy) == idV0L27 || gMC->CurrentVolID(copy) == idV0L28 || gMC->CurrentVolID(copy) == idV0L3 || gMC->CurrentVolID(copy) == idV0L35 || gMC->CurrentVolID(copy) == idV0L36 || gMC->CurrentVolID(copy) == idV0L37 || gMC->CurrentVolID(copy) == idV0L38 || gMC->CurrentVolID(copy) == idV0L4 || gMC->CurrentVolID(copy) == idV0L45 || gMC->CurrentVolID(copy) == idV0L46 || gMC->CurrentVolID(copy) == idV0L47 || gMC->CurrentVolID(copy) == idV0L48)
- hitOnV0C = false;
+ if (
+ gMC->CurrentVolID(copy) == idV0L11 ||
+ gMC->CurrentVolID(copy) == idV0L12 ||
+ gMC->CurrentVolID(copy) == idV0L13 ||
+ gMC->CurrentVolID(copy) == idV0L14 ||
+ gMC->CurrentVolID(copy) == idV0L15 ||
+ gMC->CurrentVolID(copy) == idV0L16 ||
+ gMC->CurrentVolID(copy) == idV0L17 ||
+ gMC->CurrentVolID(copy) == idV0L18 ||
+ gMC->CurrentVolID(copy) == idV0L21 ||
+ gMC->CurrentVolID(copy) == idV0L22 ||
+ gMC->CurrentVolID(copy) == idV0L23 ||
+ gMC->CurrentVolID(copy) == idV0L24 ||
+ gMC->CurrentVolID(copy) == idV0L25 ||
+ gMC->CurrentVolID(copy) == idV0L26 ||
+ gMC->CurrentVolID(copy) == idV0L27 ||
+ gMC->CurrentVolID(copy) == idV0L28 ||
+ gMC->CurrentVolID(copy) == idV0L31 ||
+ gMC->CurrentVolID(copy) == idV0L32 ||
+ gMC->CurrentVolID(copy) == idV0L33 ||
+ gMC->CurrentVolID(copy) == idV0L34 ||
+ gMC->CurrentVolID(copy) == idV0L35 ||
+ gMC->CurrentVolID(copy) == idV0L36 ||
+ gMC->CurrentVolID(copy) == idV0L37 ||
+ gMC->CurrentVolID(copy) == idV0L38 ||
+ gMC->CurrentVolID(copy) == idV0L41 ||
+ gMC->CurrentVolID(copy) == idV0L42 ||
+ gMC->CurrentVolID(copy) == idV0L43 ||
+ gMC->CurrentVolID(copy) == idV0L44 ||
+ gMC->CurrentVolID(copy) == idV0L45 ||
+ gMC->CurrentVolID(copy) == idV0L46 ||
+ gMC->CurrentVolID(copy) == idV0L47 ||
+ gMC->CurrentVolID(copy) == idV0L48
+ )
+ hitOnV0C = false;
+
destep = gMC->Edep();
step = gMC->TrackStep();
if (hitOnV0C) {
new(lhits[fNhits++]) AliVZEROhit(fIshunt,track,vol,hits);
}
-//_____________________________________________________________________________
-void AliVZEROv7::AddDigits(Int_t *tracks, Int_t* digits)
-{
-// Adds a VZERO digit
-
- TClonesArray &ldigits = *fDigits;
- new(ldigits[fNdigits++]) AliVZEROdigit(tracks, digits);
-}
-
//_____________________________________________________________________________
void AliVZEROv7::MakeBranch(Option_t *option)
{
// Creates new branches in the current Root Tree
- char branchname[10];
- sprintf(branchname,"%s",GetName());
+ TString branchname(Form("%s",GetName()));
AliDebug(2,Form("fBufferSize = %d",fBufferSize));
const char *cH = strstr(option,"H");
if (fHits && fLoader->TreeH() && cH) {
- fLoader->TreeH()->Branch(branchname,&fHits, fBufferSize);
- AliDebug(2,Form("Making Branch %s for hits",branchname));
+ fLoader->TreeH()->Branch(branchname.Data(),&fHits, fBufferSize);
+ AliDebug(2,Form("Making Branch %s for hits",branchname.Data()));
}
const char *cD = strstr(option,"D");
if (fDigits && fLoader->TreeD() && cD) {
- fLoader->TreeD()->Branch(branchname,&fDigits, fBufferSize);
- AliDebug(2,Form("Making Branch %s for digits",branchname));
+ fLoader->TreeD()->Branch(branchname.Data(),&fDigits, fBufferSize);
+ AliDebug(2,Form("Making Branch %s for digits",branchname.Data()));
}
}
// << " called " << gMC->VolName(vol[0]) << endl;
// cout << " vol[2] = " << vol[2] << " copy : " << vol[3]
// << " called " << gMC->VolName(vol[2]) << endl;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L1")) fCellId = vol[1]+47;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L2")) fCellId = 8+vol[1]+47;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L3")) fCellId = 16+vol[1]+47;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L4")) fCellId = 24+vol[1]+47;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L15")) fCellId = 48+4;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L16")) fCellId = 48+5;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L17")) fCellId = 48+6;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L18")) fCellId = 48+7;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L25")) fCellId = 8+48+4;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L26")) fCellId = 8+48+5;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L27")) fCellId = 8+48+6;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L28")) fCellId = 8+48+7;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L35")) fCellId = 16+48+4;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L36")) fCellId = 16+48+5;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L37")) fCellId = 16+48+6;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L38")) fCellId = 16+48+7;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L45")) fCellId = 24+48+4;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L46")) fCellId = 24+48+5;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L47")) fCellId = 24+48+6;
- if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L48")) fCellId = 24+48+7;
+ // upper half
+
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L1Sec1")) fCellId = 47 + 1;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L1Sec2")) fCellId = 47 + 2;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L1Sec3")) fCellId = 47 + 3;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L1Sec4")) fCellId = 47 + 4;
+
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L2Sec1")) fCellId = 47 + 9;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L2Sec2")) fCellId = 47 + 10;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L2Sec3")) fCellId = 47 + 11;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L2Sec4")) fCellId = 47 + 12;
+
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L3Sec1")) fCellId = 47 + 17;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L3Sec2")) fCellId = 47 + 18;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L3Sec3")) fCellId = 47 + 19;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L3Sec4")) fCellId = 47 + 20;
+
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L4Sec1")) fCellId = 47 + 25;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L4Sec2")) fCellId = 47 + 26;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L4Sec3")) fCellId = 47 + 27;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L4Sec4")) fCellId = 47 + 28;
+
+ // lower half
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L15")) fCellId = 48+4;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L16")) fCellId = 48+5;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L17")) fCellId = 48+6;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L18")) fCellId = 48+7;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L25")) fCellId = 8+48+4;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L26")) fCellId = 8+48+5;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L27")) fCellId = 8+48+6;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L28")) fCellId = 8+48+7;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L35")) fCellId = 16+48+4;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L36")) fCellId = 16+48+5;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L37")) fCellId = 16+48+6;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L38")) fCellId = 16+48+7;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L45")) fCellId = 24+48+4;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L46")) fCellId = 24+48+5;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L47")) fCellId = 24+48+6;
+ if (gMC->CurrentVolID(vol[2]) == gMC->VolId("V0L48")) fCellId = 24+48+7;
}
return fCellId;