/*
$Log$
+Revision 1.10 2003/03/25 14:18:30 coppedis
+Changes in ZDC geometry to avoid overlaps with other detectors
+
Revision 1.9 2002/11/21 20:05:22 alibrary
Removing AliMC and AliMCProcess
fMedSensZP = 0;
fMedSensZEM = 0;
fMedSensGR = 0;
-// fMedSensPI = 0;
-// fMedSensTDI = 0;
+ fMedSensPI = 0;
+ fMedSensTDI = 0;
// Parameters for light tables
tubpar[0] = 6.3/2.;
tubpar[1] = 6.7/2.;
- tubpar[2] = 3838.3/2.;
+ // From beginning of ZDC volumes to beginning of D1
+ tubpar[2] = (5838.3-zd1)/2.;
gMC->Gsvolu("QT01", "TUBE", idtmed[7], tubpar, 3);
gMC->Gspos("QT01", 1, "ZDC ", 0., 0., tubpar[2] + zd1, 0, "ONLY");
tubpar[2] = 550./2.;
gMC->Gsvolu("YMQ ", "TUBE", idtmed[7], tubpar, 3);
- gMC->Gspos("MQX ", 1, "ZDC ", 0., 0., tubpar[2] + zq + 883.5, 0, "ONLY");
- gMC->Gspos("YMQ ", 1, "ZDC ", 0., 0., tubpar[2] + zq + 883.5, 0, "ONLY");
+ /*gMC->Gspos("MQX ", 1, "ZDC ", 0., 0., tubpar[2] + zq + 883.5, 0, "ONLY");
+ gMC->Gspos("YMQ ", 1, "ZDC ", 0., 0., tubpar[2] + zq + 883.5, 0, "ONLY");*/
+ // --- LHC optics v6.4
+ gMC->Gspos("MQX ", 1, "ZDC ", 0., 0., tubpar[2] + zq + 908.5, 0, "ONLY");
+ gMC->Gspos("YMQ ", 1, "ZDC ", 0., 0., tubpar[2] + zq + 908.5, 0, "ONLY");
- gMC->Gspos("MQX ", 2, "ZDC ", 0., 0., tubpar[2] + zq + 1533.5, 0, "ONLY");
- gMC->Gspos("YMQ ", 2, "ZDC ", 0., 0., tubpar[2] + zq + 1533.5, 0, "ONLY");
+ /*gMC->Gspos("MQX ", 2, "ZDC ", 0., 0., tubpar[2] + zq + 1533.5, 0, "ONLY");
+ gMC->Gspos("YMQ ", 2, "ZDC ", 0., 0., tubpar[2] + zq + 1533.5, 0, "ONLY");*/
+ // --- LHC optics v6.4
+ gMC->Gspos("MQX ", 2, "ZDC ", 0., 0., tubpar[2] + zq + 1558.5, 0, "ONLY");
+ gMC->Gspos("YMQ ", 2, "ZDC ", 0., 0., tubpar[2] + zq + 1558.5, 0, "ONLY");
// -- SEPARATOR DIPOLE D1
// -- DIPOLE D2
+ //zd2 = 12147.6;
+ // --- LHC optics v6.4
zd2 = 12147.6;
// -- GAP (VACUUM WITH MAGNETIC FIELD)
fMedSensF1 = idtmed[3]; // Sensitive volume: fibres type 1
fMedSensF2 = idtmed[4]; // Sensitive volume: fibres type 2
fMedSensZEM = idtmed[5]; // Sensitive volume: ZEM passive material
-// fMedSensTDI = idtmed[6]; // Sensitive volume: TDI Cu shield
-// fMedSensPI = idtmed[7]; // Sensitive volume: beam pipes
+ fMedSensTDI = idtmed[6]; // Sensitive volume: TDI Cu shield
+ fMedSensPI = idtmed[7]; // Sensitive volume: beam pipes
fMedSensGR = idtmed[12]; // Sensitive volume: air into the grooves
}
for (j=0;j<10;j++) hits[j]=0;
+ // --- This part is for no shower developement in beam pipe and TDI
+ // If particle interacts with beam pipe or TDI -> return
+ if((gMC->GetMedium() == fMedSensPI) || (gMC->GetMedium() == fMedSensTDI)){
+ // If option NoShower is set -> StopTrack
+ if(fNoShower==1) {
+ if(gMC->GetMedium() == fMedSensPI) {
+ knamed = gMC->CurrentVolName();
+ if((!strncmp(knamed,"MQ",2)) || (!strncmp(knamed,"YM",2))) fpLostIT += 1;
+ if((!strncmp(knamed,"MD1",3))|| (!strncmp(knamed,"YD1",2))) fpLostD1 += 1;
+ }
+ else if(gMC->GetMedium() == fMedSensTDI) fpLostTDI += 1;
+ gMC->StopTrack();
+ printf("\n # of p lost in Inner Triplet = %d\n",fpLostIT);
+ printf("\n # of p lost in D1 = %d\n",fpLostD1);
+ printf("\n # of p lost in TDI = %d\n\n",fpLostTDI);
+ }
+ return;
+ }
+
if((gMC->GetMedium() == fMedSensZN) || (gMC->GetMedium() == fMedSensZP) ||
(gMC->GetMedium() == fMedSensGR) || (gMC->GetMedium() == fMedSensF1) ||
(gMC->GetMedium() == fMedSensF2) || (gMC->GetMedium() == fMedSensZEM)){
-// --- This part is for no shower developement in beam pipe and TDI
-// (gMC->GetMedium() == fMedSensPI) || (gMC->GetMedium() == fMedSensTDI)){
-
- // If particle interacts with beam pipe -> return
-// if((gMC->GetMedium() == fMedSensPI) || (gMC->GetMedium() == fMedSensTDI)){
- // If option NoShower is set -> StopTrack
-// if(fNoShower==1) {
-// if(gMC->GetMedium() == fMedSensPI) {
-// knamed = gMC->CurrentVolName();
-// if((!strncmp(knamed,"MQ",2)) || (!strncmp(knamed,"YM",2))) fpLostIT += 1;
-// if((!strncmp(knamed,"MD1",3))|| (!strncmp(knamed,"YD1",2))) fpLostD1 += 1;
-// }
-// if(gMC->GetMedium() == fMedSensTDI) fpLostTDI += 1;
-// gMC->StopTrack();
-// printf("\n # of p lost in Inner Triplet = %d\n",fpLostIT);
-// printf("\n # of p lost in D1 = %d\n",fpLostD1);
-// printf("\n # of p lost in TDI = %d\n",fpLostTDI);
-// }
-// return;
-// }
//Particle coordinates
gMC->TrackPosition(s);
AddHit(gAlice->CurrentTrack(), vol, hits);
if(fNoShower==1){
-// fpDetected += 1;
+ fpDetected += 1;
gMC->StopTrack();
-// printf("\n # of detected p = %d\n",fpDetected);
+ printf("\n # of detected p = %d\n\n",fpDetected);
return;
}
}