]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliDIPOv2.cxx
Volume AFaWPlateAI corrected.
[u/mrichter/AliRoot.git] / STRUCT / AliDIPOv2.cxx
index 4dbbffd5e511b606824d80cc1e0ee9b470f0deb5..0de0ff60219189ea6524a868f60a9daea4510414 100644 (file)
 //                                                                           //
 //                                                                           //
 
+#include <TVirtualMC.h>
+
+#include "AliConst.h"
 #include "AliDIPOv2.h"
-#include "AliRun.h"
 #include "AliMagF.h"
-#include "AliConst.h"
+#include "AliRun.h"
  
 ClassImp(AliDIPOv2)
  
@@ -96,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] = 182.4;
+  //
+  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] = 260.55+kZDipole;
-  tpar[16] = 182.4;
-  tpar[17] = 527.34;
-
-
-  gMC->Gsvolu("DDIP", "PCON", idtmed[1814], tpar, 18);  
-  //       COILS 
+  //       Coils 
   // air - m.f. 
   cpar[0] = 207.;
   cpar[1] = 274.;
@@ -616,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);
@@ -755,7 +753,8 @@ 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");
 
 
 }
@@ -815,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. };
@@ -834,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 
@@ -902,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);
 
 }