X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STRUCT%2FAliDIPOv2.cxx;h=0de0ff60219189ea6524a868f60a9daea4510414;hb=f430a9ced545788fc71fe2dc33fe7a9b1a66d46e;hp=3b0c05fade704608ea4af90c9f264e025f76ddbc;hpb=395de7f7c59ae8fc330f12c3326f1711334d52f9;p=u%2Fmrichter%2FAliRoot.git diff --git a/STRUCT/AliDIPOv2.cxx b/STRUCT/AliDIPOv2.cxx index 3b0c05fade7..0de0ff60219 100644 --- a/STRUCT/AliDIPOv2.cxx +++ b/STRUCT/AliDIPOv2.cxx @@ -13,44 +13,7 @@ * provided "as is" without express or implied warranty. * **************************************************************************/ -/* -$Log$ -Revision 1.17 2001/06/21 11:59:25 morsch -Some more details in compensator geometry. - -Revision 1.16 2001/06/20 16:07:08 morsch -Compensator dipole MBWMD (MCB@SPS) added. - -Revision 1.15 2001/03/16 15:34:37 morsch -Mothervolume defined MANY because overlap with station 3 mothervolume not avoidable (A. de Falco) - -Revision 1.14 2000/12/21 16:37:23 morsch -Use Al for coil and cable material. The materials used before cause the dipole to -have hydrogene on the outer surface leading to unrealistic gamma rates due to -n-capture. - -Revision 1.13 2000/10/02 21:28:15 fca -Removal of useless dependecies via forward declarations - -Revision 1.12 2000/06/20 10:53:01 morsch -Volume placed outside mother volume (DDIP) corrected (Galina Chabratova) - -Revision 1.11 2000/06/11 12:33:46 morsch -Coding rule violations corrected - -Revision 1.10 2000/06/09 19:32:56 morsch -New detailed and corrected version from Galina Chabratova - -Revision 1.9 2000/04/27 09:29:53 fca -Reverting to version 1.6.2 - -Revision 1.6.2.1 1999/12/03 16:38:51 fca -Correct overlap in magnet - -Revision 1.6 1999/09/29 09:24:30 fca -Introduction of the Copyright and cvs Log - -*/ +/* $Id$ */ /////////////////////////////////////////////////////////////////////////////// // // @@ -71,11 +34,12 @@ Introduction of the Copyright and cvs Log // // // // +#include + +#include "AliConst.h" #include "AliDIPOv2.h" -#include "AliRun.h" -#include "AliMC.h" #include "AliMagF.h" -#include "AliConst.h" +#include "AliRun.h" ClassImp(AliDIPOv2) @@ -116,8 +80,6 @@ void AliDIPOv2::CreateSpectrometerDipole() // Creation of the geometry of the magnetic DIPOLE version 2 // - // AliMC* gMC = AliMC::GetMC(); - Float_t cpar[5], tpar[18], ypar[12]; Float_t dz, dx, dy; Int_t idrotm[1899]; @@ -136,33 +98,28 @@ void AliDIPOv2::CreateSpectrometerDipole() // DIPOLE MAGNET const Float_t kZDipole = 975; - tpar[0] = 0.; - tpar[1] = 360.; - tpar[2] = 5.; + tpar[ 0] = 0.; + tpar[ 1] = 360.; + tpar[ 2] = 4.; // - tpar[3] = -250.55+kZDipole; - tpar[4] = 30.5; - tpar[5] = 527.34; + tpar[ 3] = -250.55 + kZDipole; + tpar[ 4] = 30.1; + tpar[ 5] = 527.34; // - tpar[6] = -160.7+kZDipole; - tpar[7] = 30.5; - tpar[8] = 527.34; + tpar[ 6] = 37. + kZDipole; + tpar[ 7] = 30.1; + tpar[ 8] = 527.34; // - tpar[9] = 30.+kZDipole; - tpar[10] = 30.5; + tpar[ 9] = 37. + kZDipole; + tpar[10] = tpar[ 9] * TMath::Tan(2. * TMath::Pi() / 180.); tpar[11] = 527.34; - - tpar[12] = 150.8+kZDipole; - tpar[13] = 193.3; + // + tpar[12] = 260.55 + kZDipole; + tpar[13] = tpar[12] * TMath::Tan(2. * TMath::Pi() / 180.); tpar[14] = 527.34; + gMC->Gsvolu("DDIP", "PCON", idtmed[1874], tpar, 15); // - tpar[15] = 250.55+kZDipole; - tpar[16] = 193.3; - tpar[17] = 527.34; - - - gMC->Gsvolu("DDIP", "PCON", idtmed[1814], tpar, 18); - // COILS + // Coils // air - m.f. cpar[0] = 207.; cpar[1] = 274.; @@ -656,8 +613,9 @@ void AliDIPOv2::CreateSpectrometerDipole() gMC->Gspos("DY2 ", 1, "DDIP", dx, 0.0, dz+kZDipole, idrotm[1809], "ONLY"); gMC->Gspos("DY2 ", 2, "DDIP", -dx, 0.0, dz+kZDipole, idrotm[1810], "ONLY"); - - gMC->Gspos("DDIP", 1, "ALIC", 0., 0., 0., 0, "ONLY"); + + AliMatrix(idrotm[1811], 270., 0., 90., 90., 180., 0.); + gMC->Gspos("DDIP", 1, "ALIC", 0., 0., 0., idrotm[1811], "ONLY"); gMC->Gsatt("DDIP", "SEEN", 0); // gMC->Gsatt("DC21", "SEEN", 0); @@ -675,7 +633,7 @@ void AliDIPOv2::CreateCompensatorDipole() Int_t *idtmed = fIdtmed->GetArray()-1799; Int_t idrotm[1899]; // - Float_t pbox[3] = {62.5, 62.5, 170.}; + Float_t pbox[3] = {63., 63., 170.}; // Mother volumes gMC->Gsvolu("DCM0", "BOX", idtmed[1814], pbox, 3); @@ -795,20 +753,19 @@ void AliDIPOv2::CreateCompensatorDipole() gMC->Gspos("DCBA", 1, "DCM0", 0., -47.5 , 17.5, 0, "ONLY"); - gMC->Gspos("DCM0", 1, "ALIC", 0., -6.75, -975., 0, "ONLY"); + AliMatrix(idrotm[1816], 270., 0., 90., 90., 180., 0.); + gMC->Gspos("DCM0", 1, "ALIC", 0., -6.75, 975., idrotm[1816], "ONLY"); } //_____________________________________________________________________________ -void AliDIPOv2::DrawModule() +void AliDIPOv2::DrawModule() const { // // Draw a shaded view of the muon absorber // - AliMC* gMC = AliMC::GetMC(); - // Set everything unseen gMC->Gsatt("*", "seen", -1); // @@ -857,8 +814,10 @@ void AliDIPOv2::CreateMaterials() // Create Materials for Magnetic Dipole version 2 // - Int_t isxfld = gAlice->Field()->Integ(); - Float_t sxmgmx = gAlice->Field()->Max(); + Int_t isxfld1 = gAlice->Field()->Integ(); + Int_t isxfld2 = gAlice->Field()->PrecInteg(); + Float_t sxmgmx = gAlice->Field()->Max(); + Float_t asteel[4] = { 55.847,51.9961,58.6934,28.0855 }; Float_t zsteel[4] = { 26.,24.,28.,14. }; @@ -876,62 +835,61 @@ void AliDIPOv2::CreateMaterials() Float_t zG10[5] = { 1.,6.,8.,14.,35. }; Float_t wG10[5] = { .02089,.22338,.28493,.41342,.05738 }; - Float_t aAlCon[2] = { 14.61, 26.98}; - Float_t zAlCon[2] = { 7.3, 13.}; - Float_t wAlCon[2] = { .0004,.9996}; + // AIR + + Float_t aAir[4]={12.0107,14.0067,15.9994,39.948}; + Float_t zAir[4]={6.,7.,8.,18.}; + Float_t wAir[4]={0.000124,0.755267,0.231781,0.012827}; + Float_t dAir = 1.20479E-3; + Float_t dAir1 = 1.20479E-10; Float_t epsil, stmin, deemax, tmaxfd, stemax; // --- Define the various materials for GEANT --- // Aluminum - AliMaterial( 9, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2); - AliMaterial(29, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2); - AliMaterial(49, "ALUMINIUM$", 26.98, 13., 2.7, 8.9, 37.2); + AliMaterial( 9, "ALUMINIUM0$", 26.98, 13., 2.7, 8.9, 37.2); + AliMaterial(29, "ALUMINIUM1$", 26.98, 13., 2.7, 8.9, 37.2); + AliMaterial(49, "ALUMINIUM2$", 26.98, 13., 2.7, 8.9, 37.2); // Iron - AliMaterial(10, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1); - AliMaterial(30, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1); - AliMaterial(50, "IRON$ ", 55.85, 26., 7.87, 1.76, 17.1); + AliMaterial(10, "IRON0$ ", 55.85, 26., 7.87, 1.76, 17.1); + AliMaterial(30, "IRON1$ ", 55.85, 26., 7.87, 1.76, 17.1); + AliMaterial(50, "IRON2$ ", 55.85, 26., 7.87, 1.76, 17.1); // Copper - AliMaterial(17, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1); - AliMaterial(37, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1); - AliMaterial(57, "COPPER$ ", 63.55, 29., 8.96, 1.43, 15.1); - // Air - AliMaterial(15, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500); - AliMaterial(35, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500); - AliMaterial(55, "AIR$ ", 14.61, 7.3, .001205, 30423.24, 67500); - + AliMaterial(17, "COPPER0$ ", 63.55, 29., 8.96, 1.43, 15.1); + AliMaterial(37, "COPPER1$ ", 63.55, 29., 8.96, 1.43, 15.1); + AliMaterial(57, "COPPER2$ ", 63.55, 29., 8.96, 1.43, 15.1); + // Air + AliMixture(15, "AIR0$ ", aAir, zAir, dAir, 4, wAir); + AliMixture(35, "AIR1$ ", aAir, zAir, dAir, 4, wAir); + AliMixture(55, "AIR2$ ", aAir, zAir, dAir, 4, wAir); + AliMixture(75, "AIR_MUON ", aAir, zAir, dAir, 4, wAir); // Vacuum - AliMaterial(16, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16); - AliMaterial(36, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16); - AliMaterial(56, "VACUUM$ ", 1e-16, 1e-16, 1e-16, 1e16, 1e16); + AliMixture(16, "VACUUM0$ ", aAir, zAir, dAir1, 4, wAir); + AliMixture(36, "VACUUM1$ ", aAir, zAir, dAir1, 4, wAir); + AliMixture(56, "VACUUM2$ ", aAir, zAir, dAir1, 4, wAir); // stainless Steel - AliMixture(19, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel); - AliMixture(39, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel); - AliMixture(59, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel); + AliMixture(19, "STAINLESS STEEL0$", asteel, zsteel, 7.88, 4, wsteel); + AliMixture(39, "STAINLESS STEEL1$", asteel, zsteel, 7.88, 4, wsteel); + AliMixture(59, "STAINLESS STEEL2$", asteel, zsteel, 7.88, 4, wsteel); // Coil - AliMixture(14, "Al$", acoil, zcoil, 2.122, 3, wcoil); - AliMixture(34, "Al$", acoil, zcoil, 2.122, 3, wcoil); - AliMixture(54, "Al$", acoil, zcoil, 2.122, 3, wcoil); + AliMixture(14, "Al0$", acoil, zcoil, 2.122, 3, wcoil); + AliMixture(34, "Al1$", acoil, zcoil, 2.122, 3, wcoil); + AliMixture(54, "Al2$", acoil, zcoil, 2.122, 3, wcoil); //RESIN - AliMixture(13, "RESIN$", aresi, zresi, 1.05, 3, wresi); - AliMixture(33, "RESIN$", aresi, zresi, 1.05, 3, wresi); - AliMixture(53, "RESIN$", aresi, zresi, 1.05, 3, wresi); + AliMixture(13, "RESIN0$", aresi, zresi, 1.05, 3, wresi); + AliMixture(33, "RESIN1$", aresi, zresi, 1.05, 3, wresi); + AliMixture(53, "RESIN2$", aresi, zresi, 1.05, 3, wresi); //G10 - AliMixture(11, "G10$", aG10, zG10, 1.7, 5, wG10); - AliMixture(31, "G10$", aG10, zG10, 1.7, 5, wG10); - AliMixture(51, "G10$", aG10, zG10, 1.7, 5, wG10); + AliMixture(11, "G100$", aG10, zG10, 1.7, 5, wG10); + AliMixture(31, "G101$", aG10, zG10, 1.7, 5, wG10); + AliMixture(51, "G102$", aG10, zG10, 1.7, 5, wG10); - //Aluminium Conductor - AliMixture(12, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon); - AliMixture(32, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon); - AliMixture(52, "AlCond$", aAlCon, zAlCon, 1.3506, 2, wAlCon); - // **************** // Defines tracking media parameters. // Les valeurs sont commentees pour laisser le defaut @@ -944,55 +902,50 @@ void AliDIPOv2::CreateMaterials() // *************** // Aluminum - AliMedium(9, "ALU_C0 ", 9, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(29, "ALU_C1 ", 29, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(49, "ALU_C2 ", 49, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium( 9, "ALU_C0 ", 9, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(29, "ALU_C1 ", 29, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(49, "ALU_C2 ", 49, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); // Iron - AliMedium(10, "FE_C0 ", 10, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(30, "FE_C1 ", 30, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(50, "FE_C2 ", 50, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(10, "FE_C0 ", 10, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(30, "FE_C1 ", 30, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(50, "FE_C2 ", 50, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); // Air - AliMedium(15, "AIR_C0 ", 15, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(35, "AIR_C1 ", 35, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(55, "AIR_C2 ", 55, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(15, "AIR_C0 ", 15, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(35, "AIR_C1 ", 35, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(55, "AIR_C2 ", 55, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(75, "AIR_MUON ", 75, 0, isxfld2, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); // Vacuum - AliMedium(16, "VA_C0 ", 16, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(36, "VA_C1 ", 36, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(56, "VA_C2 ", 56, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(16, "VA_C0 ", 16, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(36, "VA_C1 ", 36, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(56, "VA_C2 ", 56, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); // Steel - AliMedium(19, "ST_C0 ", 19, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(39, "ST_C1 ", 39, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(59, "ST_C3 ", 59, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(19, "ST_C0 ", 19, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(39, "ST_C1 ", 39, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(59, "ST_C3 ", 59, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); // Coil - AliMedium(14, "Coil_C1 ", 14, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(34, "Coil_C2 ", 34, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(54, "Coil_C3 ", 54, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(14, "Coil_C1 ", 14, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(34, "Coil_C2 ", 34, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(54, "Coil_C3 ", 54, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); // Resin - AliMedium(13, "RESIN_C0 ", 13, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(33, "RESIN_C1 ", 33, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(53, "RESIN_C2 ", 53, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(13, "RESIN_C0 ", 13, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(33, "RESIN_C1 ", 33, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(53, "RESIN_C2 ", 53, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); // G10 - AliMedium(11, "G10_C0 ", 11, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(31, "G10_C1 ", 31, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(51, "G10_C2 ", 51, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - - //Aluminium Contactor - AliMedium(12, "AlCond_C0 ", 12, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(32, "AlCond_C1 ", 32, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(52, "AlCond_C2 ", 52, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - + AliMedium(11, "G10_C0 ", 11, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(31, "G10_C1 ", 31, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(51, "G10_C2 ", 51, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); // // Copper - AliMedium(17, "Cu_C0 ", 17, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(37, "Cu_C1 ", 37, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); - AliMedium(57, "Cu_C2 ", 57, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(17, "Cu_C0 ", 17, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(37, "Cu_C1 ", 37, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); + AliMedium(57, "Cu_C2 ", 57, 0, isxfld1, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin); }