From 917901499e9b424d136486631e3860a026d275af Mon Sep 17 00:00:00 2001 From: coppedis Date: Mon, 3 Nov 2003 15:48:17 +0000 Subject: [PATCH] ZDC geometry updated (rotation) - final version --- ZDC/AliZDCv2.cxx | 87 ++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/ZDC/AliZDCv2.cxx b/ZDC/AliZDCv2.cxx index 05e84da781f..fa9683ec8c8 100644 --- a/ZDC/AliZDCv2.cxx +++ b/ZDC/AliZDCv2.cxx @@ -127,10 +127,10 @@ AliZDCv2::AliZDCv2(const char *name, const char *title) fDimZP[2] = 75.; fPosZN[0] = 0.; fPosZN[1] = 1.2; - fPosZN[2] = -11680.; + fPosZN[2] = 11650.; fPosZP[0] = -23.9; fPosZP[1] = 0.; - fPosZP[2] = -11600.; + fPosZP[2] = 11650.; fFibZN[0] = 0.; fFibZN[1] = 0.01825; fFibZN[2] = 50.; @@ -141,7 +141,6 @@ AliZDCv2::AliZDCv2(const char *name, const char *title) // Parameters for EM calorimeter geometry fPosZEM[0] = 8.5; fPosZEM[1] = 0.; -// fPosZEM[2] = 830.; fPosZEM[2] = 735.; fZEMLength = 0.; @@ -171,17 +170,17 @@ void AliZDCv2::CreateBeamLine() // -- Mother of the ZDCs (Vacuum PCON) Int_t irotM; - gMC->Matrix(irotM,90.,0.,90.,90.,180.,0.); + gMC->Matrix(irotM,90.,180.,90.,90.,180.,0.); zd1 = 2092.; conpar[0] = 0.; conpar[1] = 360.; conpar[2] = 2.; - conpar[3] = -zd1; + conpar[3] = zd1; conpar[4] = 0.; conpar[5] = 55.; - conpar[6] = -13500.; + conpar[6] = 13500.; conpar[7] = 0.; conpar[8] = 55.; gMC->Gsvolu("ZDC ", "PCON", idtmed[11], conpar, 9); @@ -195,7 +194,7 @@ void AliZDCv2::CreateBeamLine() // 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"); + gMC->Gspos("QT01", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); //-- SECOND SECTION OF THE BEAM PIPE (from the end of D1 to the // beginning of D2) @@ -210,7 +209,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 3.47+0.2; tubpar[2] = 958.5/2.; gMC->Gsvolu("QT02", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT02", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT02", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += 2.*tubpar[2]; @@ -220,7 +219,7 @@ void AliZDCv2::CreateBeamLine() conpar[3] = 10./2.; conpar[4] = 10.4/2.; gMC->Gsvolu("QC01", "CONE", idtmed[7], conpar, 5); - gMC->Gspos("QC01", 1, "ZDC ", 0., 0., -conpar[0]-zd1, 0, "ONLY"); + gMC->Gspos("QC01", 1, "ZDC ", 0., 0., conpar[0]+zd1, 0, "ONLY"); zd1 += 2.*conpar[0]; @@ -228,7 +227,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 10.4/2.; tubpar[2] = 50./2.; gMC->Gsvolu("QT03", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT03", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT03", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2]*2.; @@ -236,7 +235,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 10.4/2.; tubpar[2] = 10./2.; gMC->Gsvolu("QT04", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT04", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT04", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -244,7 +243,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 10.4/2.; tubpar[2] = 3.16/2.; gMC->Gsvolu("QT05", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT05", 1, "ZDC ", 0., 0., -tubpar[0]-zd1, 0, "ONLY"); + gMC->Gspos("QT05", 1, "ZDC ", 0., 0., tubpar[0]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -252,7 +251,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 10.4/2; tubpar[2] = 190./2.; gMC->Gsvolu("QT06", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT06", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT06", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -262,7 +261,7 @@ void AliZDCv2::CreateBeamLine() conpar[3] = 20.6/2.; conpar[4] = 21./2.; gMC->Gsvolu("QC02", "CONE", idtmed[7], conpar, 5); - gMC->Gspos("QC02", 1, "ZDC ", 0., 0., -conpar[0]-zd1, 0, "ONLY"); + gMC->Gspos("QC02", 1, "ZDC ", 0., 0., conpar[0]+zd1, 0, "ONLY"); zd1 += conpar[0] * 2.; @@ -270,7 +269,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 21./2.; tubpar[2] = 450./2.; gMC->Gsvolu("QT07", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT07", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT07", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -280,7 +279,7 @@ void AliZDCv2::CreateBeamLine() conpar[3] = 25.4/2.; conpar[4] = 25.8/2.; gMC->Gsvolu("QC03", "CONE", idtmed[7], conpar, 5); - gMC->Gspos("QC03", 1, "ZDC ", 0., 0., -conpar[0]-zd1, 0, "ONLY"); + gMC->Gspos("QC03", 1, "ZDC ", 0., 0., conpar[0]+zd1, 0, "ONLY"); zd1 += conpar[0] * 2.; @@ -288,7 +287,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 25.8/2.; tubpar[2] = 205.8/2.; gMC->Gsvolu("QT08", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT08", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT08", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -297,7 +296,7 @@ void AliZDCv2::CreateBeamLine() // QT09 is 10 cm longer to accomodate TDI tubpar[2] = 515.4/2.; gMC->Gsvolu("QT09", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT09", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT09", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); // --- Insert TDI (inside ZDC volume) @@ -305,14 +304,14 @@ void AliZDCv2::CreateBeamLine() boxpar[1] = 5.6; boxpar[2] = 400./2.; gMC->Gsvolu("QTD1", "BOX ", idtmed[7], boxpar, 3); - gMC->Gspos("QTD1", 1, "ZDC ", 3., 10.6, -tubpar[2]-zd1-56.3, 0, "ONLY"); - gMC->Gspos("QTD1", 2, "ZDC ", 3., -10.6, -tubpar[2]-zd1-56.3, 0, "ONLY"); + gMC->Gspos("QTD1", 1, "ZDC ", 3., 10.6, tubpar[2]+zd1+56.3, 0, "ONLY"); + gMC->Gspos("QTD1", 2, "ZDC ", 3., -10.6, tubpar[2]+zd1+56.3, 0, "ONLY"); boxpar[0] = 0.2/2.; boxpar[1] = 5.6; boxpar[2] = 400./2.; gMC->Gsvolu("QTD2", "BOX ", idtmed[6], boxpar, 3); - gMC->Gspos("QTD2", 1, "ZDC ", 8.6+boxpar[0], 0., -tubpar[2]-zd1-56.3, 0, "ONLY"); + gMC->Gspos("QTD2", 1, "ZDC ", 8.6+boxpar[0], 0., tubpar[2]+zd1+56.3, 0, "ONLY"); // tubspar[0] = 6.2; // R = 6.2 cm---------------------------------------- // tubspar[1] = 6.4; @@ -325,7 +324,7 @@ void AliZDCv2::CreateBeamLine() tubspar[3] = 180.-75.5; tubspar[4] = 180.+75.5; gMC->Gsvolu("QTD3", "TUBS", idtmed[6], tubspar, 5); - gMC->Gspos("QTD3", 1, "ZDC ", 0., 0., -tubpar[2]-zd1-56.3, 0, "ONLY"); + gMC->Gspos("QTD3", 1, "ZDC ", 0., 0., tubpar[2]+zd1+56.3, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -334,7 +333,7 @@ void AliZDCv2::CreateBeamLine() // QT10 is 10 cm shorter tubpar[2] = 690./2.; gMC->Gsvolu("QT10", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT10", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT10", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -342,7 +341,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 50.4/2.; tubpar[2] = 778.5/2.; gMC->Gsvolu("QT11", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT11", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT11", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -352,7 +351,7 @@ void AliZDCv2::CreateBeamLine() conpar[3] = 55./2.; conpar[4] = 55.4/2.; gMC->Gsvolu("QC04", "CONE", idtmed[7], conpar, 5); - gMC->Gspos("QC04", 1, "ZDC ", 0., 0., -conpar[0]-zd1, 0, "ONLY"); + gMC->Gspos("QC04", 1, "ZDC ", 0., 0., conpar[0]+zd1, 0, "ONLY"); zd1 += conpar[0] * 2.; @@ -360,7 +359,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 55.4/2.; tubpar[2] = 730./2.; gMC->Gsvolu("QT12", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT12", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT12", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -370,7 +369,7 @@ void AliZDCv2::CreateBeamLine() conpar[3] = 68./2.; conpar[4] = 68.4/2.; gMC->Gsvolu("QC05", "CONE", idtmed[7], conpar, 5); - gMC->Gspos("QC05", 1, "ZDC ", 0., 0., -conpar[0]-zd1, 0, "ONLY"); + gMC->Gspos("QC05", 1, "ZDC ", 0., 0., conpar[0]+zd1, 0, "ONLY"); zd1 += conpar[0] * 2.; @@ -378,7 +377,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 68.4/2.; tubpar[2] = 927.3/2.; gMC->Gsvolu("QT13", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("QT13", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT13", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -386,7 +385,7 @@ void AliZDCv2::CreateBeamLine() tubpar[1] = 68.4/2.; tubpar[2] = 0.2/2.; gMC->Gsvolu("QT14", "TUBE", idtmed[8], tubpar, 3); - gMC->Gspos("QT14", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("QT14", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); zd1 += tubpar[2] * 2.; @@ -423,13 +422,13 @@ void AliZDCv2::CreateBeamLine() Float_t angle = 0.143*kDegrad; - AliMatrix(im1, 90.+0.143, 0., 90., 90., 0.143, 180.); + AliMatrix(im1, 90.-0.143, 0., 90., 90., 0.143, 180.); gMC->Gspos("QT17", 1, "ZDC ", TMath::Sin(angle) * 680.8/ 2. - 9.4, - 0., -tubpar[2]-zd1, im1, "ONLY"); + 0., tubpar[2]+zd1, im1, "ONLY"); - AliMatrix(im2, 90.-0.143, 0., 90., 90., 0.143, 0.); + AliMatrix(im2, 90.+0.143, 0., 90., 90., 0.143, 0.); gMC->Gspos("QT18", 1, "ZDC ", 9.7 - TMath::Sin(angle) * 680.8 / 2., - 0., -tubpar[2]-zd1, im2, "ONLY"); + 0., tubpar[2]+zd1, im2, "ONLY"); // -- END OF BEAM PIPE VOLUME DEFINITION. // ---------------------------------------------------------------- @@ -458,11 +457,11 @@ void AliZDCv2::CreateBeamLine() tubpar[2] = 637./2.; gMC->Gsvolu("YMQL", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("MQXL", 1, "ZDC ", 0., 0., -tubpar[2]-zq, 0, "ONLY"); - gMC->Gspos("YMQL", 1, "ZDC ", 0., 0., -tubpar[2]-zq, 0, "ONLY"); + gMC->Gspos("MQXL", 1, "ZDC ", 0., 0., tubpar[2]+zq, 0, "ONLY"); + gMC->Gspos("YMQL", 1, "ZDC ", 0., 0., tubpar[2]+zq, 0, "ONLY"); - gMC->Gspos("MQXL", 2, "ZDC ", 0., 0., -tubpar[2]-zq-2430., 0, "ONLY"); - gMC->Gspos("YMQL", 2, "ZDC ", 0., 0., -tubpar[2]-zq-2430., 0, "ONLY"); + gMC->Gspos("MQXL", 2, "ZDC ", 0., 0., tubpar[2]+zq+2430., 0, "ONLY"); + gMC->Gspos("YMQL", 2, "ZDC ", 0., 0., tubpar[2]+zq+2430., 0, "ONLY"); // -- MQX // -- GAP (VACUUM WITH MAGNETIC FIELD) @@ -479,11 +478,11 @@ void AliZDCv2::CreateBeamLine() tubpar[2] = 550./2.; gMC->Gsvolu("YMQ ", "TUBE", idtmed[7], tubpar, 3); - 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 ", 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-1558.5, 0, "ONLY"); - gMC->Gspos("YMQ ", 2, "ZDC ", 0., 0., -tubpar[2]-zq-1558.5, 0, "ONLY"); + 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 @@ -513,7 +512,7 @@ void AliZDCv2::CreateBeamLine() tubpar[2] = 945./2.; gMC->Gsvolu("YD1 ", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("YD1 ", 1, "ZDC ", 0., 0., -tubpar[2]-zd1, 0, "ONLY"); + gMC->Gspos("YD1 ", 1, "ZDC ", 0., 0., tubpar[2]+zd1, 0, "ONLY"); gMC->Gspos("MD1 ", 1, "YD1 ", 0., 0., 0., 0, "ONLY"); // -- DIPOLE D2 @@ -536,7 +535,7 @@ void AliZDCv2::CreateBeamLine() tubpar[2] = 945./2.; gMC->Gsvolu("YD2 ", "TUBE", idtmed[7], tubpar, 3); - gMC->Gspos("YD2 ", 1, "ZDC ", 0., 0., -tubpar[2]-zd2, 0, "ONLY"); + gMC->Gspos("YD2 ", 1, "ZDC ", 0., 0., tubpar[2]+zd2, 0, "ONLY"); gMC->Gspos("MD2 ", 1, "YD2 ", -9.4, 0., 0., 0, "ONLY"); gMC->Gspos("MD2 ", 2, "YD2 ", 9.4, 0., 0., 0, "ONLY"); @@ -665,7 +664,7 @@ void AliZDCv2::CreateZDC() // --- Position the proton calorimeter in ZDC - gMC->Gspos("ZPRO", 1, "ZDC ", fPosZP[0], fPosZP[1], fPosZP[2] - fDimZP[2], 0, "ONLY"); + gMC->Gspos("ZPRO", 1, "ZDC ", fPosZP[0], fPosZP[1], fPosZP[2]-fDimZP[2], 0, "ONLY"); // ------------------------------------------------------------------------------- -- 2.39.3