]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STRUCT/AliDIPOv2.cxx
VHMPID support added
[u/mrichter/AliRoot.git] / STRUCT / AliDIPOv2.cxx
index 3b0c05fade704608ea4af90c9f264e025f76ddbc..b3cef47bab4c267c89d95fad0aedfade337665f9 100644 (file)
  * 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 <TVirtualMC.h>
+
+#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];
@@ -153,11 +115,11 @@ void AliDIPOv2::CreateSpectrometerDipole()
   tpar[11] = 527.34;
 
   tpar[12] = 150.8+kZDipole;
-  tpar[13] = 193.3;
+  tpar[13] = 182.4;
   tpar[14] = 527.34;
   //
-  tpar[15] = 250.55+kZDipole;
-  tpar[16] = 193.3;
+  tpar[15] = 260.55+kZDipole;
+  tpar[16] = 182.4;
   tpar[17] = 527.34;
 
 
@@ -656,8 +618,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 +638,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 +758,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);
   // 
@@ -860,6 +822,7 @@ void AliDIPOv2::CreateMaterials()
   Int_t isxfld   = gAlice->Field()->Integ();
   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. };
   Float_t wsteel[4] = { .715,.18,.1,.005 };
@@ -876,9 +839,13 @@ 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;
@@ -897,15 +864,14 @@ void AliDIPOv2::CreateMaterials()
   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);
-  
+  //     Air 
+  AliMixture(15, "AIR$      ", aAir, zAir, dAir, 4, wAir);
+  AliMixture(35, "AIR$      ", aAir, zAir, dAir, 4, wAir);
+  AliMixture(55, "AIR$      ", 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, "VACUUM$ ", aAir, zAir, dAir1, 4, wAir);
+  AliMixture(36, "VACUUM$ ", aAir, zAir, dAir1, 4, wAir);
+  AliMixture(56, "VACUUM$ ", aAir, zAir, dAir1, 4, wAir);
   
   //     stainless Steel 
   AliMixture(19, "STAINLESS STEEL$", asteel, zsteel, 7.88, 4, wsteel);
@@ -927,11 +893,6 @@ void AliDIPOv2::CreateMaterials()
   AliMixture(31, "G10$", aG10, zG10, 1.7, 5, wG10);
   AliMixture(51, "G10$", 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 
@@ -982,12 +943,6 @@ void AliDIPOv2::CreateMaterials()
   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);
-
   //
   //    Copper
   AliMedium(17, "Cu_C0            ", 17, 0, isxfld, sxmgmx, tmaxfd, stemax, deemax, epsil, stmin);