fpDetectedA(0),
fnDetectedA(0),
fVCollSideCAperture(7./2.),
+ fVCollSideCApertureNeg(7./2.),
fVCollSideCCentreY(0.),
fVCollSideAAperture(7./2.),
+ fVCollSideAApertureNeg(7./2.),
fVCollSideACentreY(0.),
+ fTCDDAperturePos(2.0),
+ fTCDDApertureNeg(2.2),
+ fTDIAperturePos(5.5),
+ fTDIApertureNeg(5.5),
fLumiLength(15.)
{
//
fpDetectedA(0),
fnDetectedA(0),
fVCollSideCAperture(7./2.),
+ fVCollSideCApertureNeg(7./2.),
fVCollSideCCentreY(0.),
fVCollSideAAperture(7./2.),
+ fVCollSideAApertureNeg(7./2.),
fVCollSideACentreY(0.),
+ fTCDDAperturePos(2.0),
+ fTCDDApertureNeg(2.2),
+ fTDIAperturePos(5.5),
+ fTDIApertureNeg(5.5),
fLumiLength(15.)
{
//
boxpar[1] = (3.5-fVCollSideCAperture-fVCollSideCCentreY-0.7)/2.;
if(boxpar[1]<0.) boxpar[1]=0.;
boxpar[2] = 124.4/2.;
- printf("\n AliZDCv3 -> Setting SideC VCollimator jaw: aperture %1.2f center %1.2f mod.thickness %1.3f\n\n",
- 2*fVCollSideCAperture,fVCollSideCCentreY,2*boxpar[1]);
+ printf(" AliZDCv3 -> sideC VCollimator jaws: apertures +%1.2f/-%1.2f center %1.2f [cm]\n",
+ fVCollSideCAperture, fVCollSideCApertureNeg,fVCollSideCCentreY);
gMC->Gsvolu("QCVC" , "BOX ", idtmed[13], boxpar, 3);
gMC->Gspos("QCVC", 1, "QE02", -boxpar[0], fVCollSideCAperture+fVCollSideCCentreY+boxpar[1], -totLength1/2.+160.8+78.+148./2., 0, "ONLY");
- gMC->Gspos("QCVC", 2, "QE02", -boxpar[0], -fVCollSideCAperture+fVCollSideCCentreY-boxpar[1], -totLength1/2.+160.8+78.+148./2., 0, "ONLY");
+ gMC->Gspos("QCVC", 2, "QE02", -boxpar[0], -fVCollSideCApertureNeg+fVCollSideCCentreY-boxpar[1], -totLength1/2.+160.8+78.+148./2., 0, "ONLY");
}
zd1 += tubpar[2] * 2.;
gMC->Gspos("Q11T", 1, "Q10T", 0., -1.1, 0., 0, "ONLY");
// positioning TCDD elements in ZDCA, (inside TCDD volume)
- gMC->Gspos("Q08T", 1, "ZDCA", 0., 2., -100.+zd2, 0, "ONLY");
- gMC->Gspos("Q10T", 1, "ZDCA", 0., -2., -100.+zd2, 0, "ONLY");
+ gMC->Gspos("Q08T", 1, "ZDCA", 0., fTCDDAperturePos, -100.+zd2, 0, "ONLY");
+ gMC->Gspos("Q10T", 1, "ZDCA", 0., -fTCDDApertureNeg, -100.+zd2, 0, "ONLY");
+ printf(" AliZDCv3 -> TCDD apertures +%1.2f/-%1.2f cm\n",
+ fTCDDAperturePos, fTCDDApertureNeg);
// RF screen
boxpar[0] = 0.2/2.;
boxpar[2] = 124.4/2.;
gMC->Gsvolu("QCVA" , "BOX ", idtmed[13], boxpar, 3);
gMC->Gspos("QCVA", 1, "QA07", -boxpar[0], fVCollSideAAperture+fVCollSideACentreY+boxpar[1], -313.3/2.+78.+148./2., 0, "ONLY");
- gMC->Gspos("QCVA", 2, "QA07", -boxpar[0], -fVCollSideAAperture+fVCollSideACentreY-boxpar[1], -313.3/2.+78.+148./2., 0, "ONLY");
+ gMC->Gspos("QCVA", 2, "QA07", -boxpar[0], -fVCollSideAApertureNeg+fVCollSideACentreY-boxpar[1], -313.3/2.+78.+148./2., 0, "ONLY");
+ printf(" AliZDCv3 -> sideA VCollimator jaws: apertures +%1.2f/-%1.2f center %1.2f [cm]\n",
+ fVCollSideAAperture, fVCollSideAApertureNeg,fVCollSideACentreY);
}
zd2 += 2.*tubpar[2];
boxpar[1] = 9.0/2.;
boxpar[2] = 540.0/2.;
gMC->Gsvolu("QTD1", "BOX ", idtmed[7], boxpar, 3);
- gMC->Gspos("QTD1", 1, "Q13TM", -3.8, 10.5, 0., 0, "ONLY");
+ gMC->Gspos("QTD1", 1, "Q13TM", -3.8, boxpar[1]+fTDIAperturePos, 0., 0, "ONLY");
boxpar[0] = 11.0/2.;
boxpar[1] = 9.0/2.;
boxpar[2] = 540.0/2.;
gMC->Gsvolu("QTD2", "BOX ", idtmed[7], boxpar, 3);
- gMC->Gspos("QTD2", 1, "Q13TM", -3.8, -10.5, 0., 0, "ONLY");
+ gMC->Gspos("QTD2", 1, "Q13TM", -3.8, -boxpar[1]-fTDIApertureNeg, 0., 0, "ONLY");
boxpar[0] = 5.1/2.;
boxpar[1] = 0.2/2.;
boxpar[2] = 540.0/2.;
gMC->Gsvolu("QTD3", "BOX ", idtmed[7], boxpar, 3);
- gMC->Gspos("QTD3", 1, "Q13TM", -3.8+5.5+boxpar[0], 6.1, 0., 0, "ONLY");
- gMC->Gspos("QTD3", 2, "Q13TM", -3.8+5.5+boxpar[0], -6.1, 0., 0, "ONLY");
- gMC->Gspos("QTD3", 3, "Q13TM", -3.8-5.5-boxpar[0], 6.1, 0., 0, "ONLY");
- gMC->Gspos("QTD3", 4, "Q13TM", -3.8-5.5-boxpar[0], -6.1, 0., 0, "ONLY");
+ gMC->Gspos("QTD3", 1, "Q13TM", -3.8+5.5+boxpar[0], fTDIAperturePos, 0., 0, "ONLY");
+ gMC->Gspos("QTD3", 2, "Q13TM", -3.8+5.5+boxpar[0], -fTDIApertureNeg, 0., 0, "ONLY");
+ gMC->Gspos("QTD3", 3, "Q13TM", -3.8-5.5-boxpar[0], fTDIAperturePos, 0., 0, "ONLY");
+ gMC->Gspos("QTD3", 4, "Q13TM", -3.8-5.5-boxpar[0], -fTDIApertureNeg, 0., 0, "ONLY");
+ printf(" AliZDCv3 -> TDI apertures +%1.2f/-%1.2f cm\n\n",
+ fTDIAperturePos, fTDIApertureNeg);
//
tubspar[0] = 12.0/2.;
tubspar[1] = 12.4/2.;
void SetVCollSideCAperture(Float_t aperture)
{if(aperture<3.5) fVCollSideCAperture = aperture;
- else printf("\n\n AliZDCv3: WARNING! SideA TCTVB aperture set to max.: 3.5 cm\n\n");}
+ else printf("\n\n AliZDCv3: WARNING! SideC TCTVB aperture set to max. value: 3.5 cm\n\n");}
+ void SetVCollSideCApertureNeg(Float_t aperture)
+ {if(aperture<3.5) fVCollSideCApertureNeg = aperture;
+ else printf("\n\n AliZDCv3: WARNING! SideC TCTVB aperture set to max. value: -3.5 cm\n\n");}
void SetVCollSideCCentre(Float_t centre) {fVCollSideCCentreY = centre;}
void SetVCollSideAAperture(Float_t aperture)
- {if(aperture<3.5) fVCollSideAAperture = aperture;
- else printf("\n\n AliZDCv3: WARNING! SideA TCTVB aperture set to max.: 3.5 cm\n\n");}
+ {if(aperture<=3.5) fVCollSideAAperture = aperture;
+ else printf("\n\n AliZDCv3: WARNING! SideA TCTVB aperture set to max. value: 3.5 cm\n\n");}
+ void SetVCollSideAApertureNeg(Float_t aperture)
+ {if(aperture<=3.5) fVCollSideAApertureNeg = aperture;
+ else printf("\n\n AliZDCv3: WARNING! SideA TCTVB aperture set to max. value: -3.5 cm\n\n");}
void SetVCollSideACentre(Float_t centre) {fVCollSideACentreY = centre;}
+ virtual void SetTCDDAperturePos(Float_t aperture)
+ {if(aperture<=2.2) fTCDDAperturePos = aperture;
+ else printf("\n\n AliZDCv3: WARNING! TCDD pos. aperture set to max. value: 2.0 cm\n\n");}
+ virtual void SetTCDDApertureNeg(Float_t aperture)
+ {if(aperture<=2.4) fTCDDApertureNeg = aperture;
+ else printf("\n\n AliZDCv3: WARNING! TCDD neg. aperture set to max. value: -2.2 cm\n\n");}
+
+
+ virtual void SetTDIAperturePos(Float_t aperture)
+ {if(aperture<=6.) fTDIAperturePos = aperture;
+ else printf("\n\n AliZDCv3: WARNING! TDI pos. aperture set to max. value: 6.0 cm\n\n");}
+ virtual void SetTDIApertureNeg(Float_t aperture)
+ {if(aperture<=6.) fTDIApertureNeg = aperture;
+ else printf("\n\n AliZDCv3: WARNING! TDI neg. aperture set to max. value: -6.0 cm\n\n");}
+
void SetLumiLength(Float_t length) {fLumiLength = length;}
void SetYZNC(Float_t yZNC) {fPosZNC[1] = yZNC;}
Int_t fpLostITC, fpLostD1C, fpcVCollC, fpDetectedC, fnDetectedC; // Side C
Int_t fpLostITA, fpLostD1A, fpLostTDI, fpcVCollA, fpDetectedA, fnDetectedA; // Side A
- // Parameters to describe vertical collimator aperture
- Float_t fVCollSideCAperture; // Semi-aperture of TCTVB jaws
- Float_t fVCollSideCCentreY; // Centre of TCTVB jaw apertures
- Float_t fVCollSideAAperture; // Semi-aperture of TCTVB jaws
- Float_t fVCollSideACentreY; // Centre of TCTVB jaw apertures
+ // Apertures to describe beam line elements variable apertures
+
+ // Vertical collimator
+ Float_t fVCollSideCAperture; // Semi-aperture of TCTVB jaws pos. y dir.
+ Float_t fVCollSideCApertureNeg; // Semi-aperture of TCTVB jaws neg. y dir (abs. value)
+ Float_t fVCollSideCCentreY; // Centre of TCTVB jaw apertures
+ Float_t fVCollSideAAperture; // Semi-aperture of TCTVB jaws pos. y dir.
+ Float_t fVCollSideAApertureNeg; // Semi-aperture of TCTVB jaws neg. y dir. (abs. value)
+ Float_t fVCollSideACentreY; // Centre of TCTVB jaw apertures
+
+ // TCDD
+ Float_t fTCDDAperturePos; // TCDD semi-aperture pos. y dir.
+ Float_t fTCDDApertureNeg; // TCDD semi-aperture neg. y dir. (abs. value)
+
+ // TDI
+ Float_t fTDIAperturePos; // TDI semi-aperture pos. y dir.
+ Float_t fTDIApertureNeg; // TDI semi-aperture neg. y dir. (abs. value)
Float_t fLumiLength; // Luminometer length
- ClassDef(AliZDCv3,7) // Zero Degree Calorimeter version 1
+ ClassDef(AliZDCv3,8) // Zero Degree Calorimeter version 1
};
#endif