]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - T0/AliT0v2.cxx
new QA SIM structure
[u/mrichter/AliRoot.git] / T0 / AliT0v2.cxx
index 826a643eea836d777d580c3a0425bc608829fa89..077c662ef8f9c1a1930630cf252b333d78db2894 100644 (file)
 #include <Riostream.h>
 #include <stdlib.h>
 
-#include <TGeometry.h>
 #include <TLorentzVector.h>
 #include <TMath.h>
-#include <TNode.h>
-#include <TTUBE.h>
 #include <TVirtualMC.h>
 
 #include "AliMagF.h"
@@ -46,8 +43,6 @@
 #include "AliT0hit.h"
 #include "AliT0v2.h"
 #include "AliMC.h"
-//#include "AliT0hitPhoton.h"
-//#include "TGeant3.h"
 
 ClassImp(AliT0v2)
 
@@ -153,8 +148,8 @@ void AliT0v2::CreateGeometry()
 //////////////////////////////////////////////////////////////////////
 void AliT0v2::CreateMaterials()
 {
-   Int_t isxfld   = gAlice->Field()->Integ();
-   Float_t sxmgmx = gAlice->Field()->Max();
+   Int_t isxfld   = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Integ();
+   Float_t sxmgmx = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Max();
    
    Float_t a, z, d, radl, absl, buf[1];
    Int_t nbuf;
@@ -191,52 +186,6 @@ void AliT0v2::CreateMaterials()
    Float_t wribber[3] = { 6., 12.,  1.};
    Float_t denribber  = 0.8;
    
-// Definition Cherenkov parameters
-  const Int_t NUMENTRIES = 32;
-
-  Float_t ppckov[NUMENTRIES] =
-            { 2.034E-9, 2.068E-9, 2.103E-9, 2.139E-9,
-              2.177E-9, 2.216E-9, 2.256E-9, 2.298E-9,
-              2.341E-9, 2.386E-9, 2.433E-9, 2.481E-9,
-              2.532E-9, 2.585E-9, 2.640E-9, 2.697E-9,
-              2.757E-9, 2.820E-9, 2.885E-9, 2.954E-9,
-              3.026E-9, 3.102E-9, 3.181E-9, 3.265E-9,
-              3.353E-9, 3.446E-9, 3.545E-9, 3.649E-9,
-              3.760E-9, 3.877E-9, 4.002E-9, 4.136E-9 };
-
-  Float_t rindex_qwarz[NUMENTRIES] =
-            { 1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
-              1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
-              1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
-              1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
-              1.458, 1.458, 1.458, 1.458 };
-
-  Float_t rindex_air[NUMENTRIES] =
-            { 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
-              1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
-              1., 1., 1., 1. };
-
-  Float_t effic_all[NUMENTRIES] =
-            { 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
-              1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
-              1., 1., 1., 1. };
-              
-  Float_t absor_qwarz[NUMENTRIES] =
-           { 2000., 2000., 2000., 2000., 2000., 2000., 2000., 
-             2000., 2000., 2000., 2000., 2000., 2000., 2000.,
-             2000., 2000., 2000., 2000., 2000., 2000., 2000.,
-             2000., 2000., 2000., 2000., 2000., 2000., 2000.,
-             2000., 2000., 2000., 2000. };
-
-  Float_t absor_air[NUMENTRIES] =
-           { 200., 200., 200., 200., 200., 200., 200., 
-             200., 200., 200., 200., 200., 200., 200.,
-             200., 200., 200., 200., 200., 200., 200.,
-             200., 200., 200., 200., 200., 200., 200.,
-             200., 200., 200., 200. };
-   
-  Int_t *idtmed = fIdtmed->GetArray();
-
     
    AliMaterial (0, "T0 Steel$", 55.850, 26., 7.87, 1.76, 999);
    AliMaterial (1, "T0 Vacuum$", 1.e-16, 1.e-16, 1.e-16, 1.e16, 999);
@@ -265,9 +214,6 @@ void AliT0v2::CreateMaterials()
    AliMedium (8, "Steel$", 0, 0, isxfld, sxmgmx, 1., .001, 1., .001, .001);
    AliMedium (9, "Ribber  $", 7, 0, isxfld, sxmgmx, 10., .01, .1, .003, .003);
    AliMedium(11, "Brass  $", 6, 0, isxfld, sxmgmx, 10., .01, .1, .003, .003);
-
-   gMC->SetCerenkov (idtmed[6], NUMENTRIES, ppckov, absor_qwarz, effic_all, rindex_qwarz);
-   gMC->SetCerenkov (idtmed[1], NUMENTRIES, ppckov, absor_air, effic_all, rindex_air);
 }
 
 
@@ -294,17 +240,69 @@ void AliT0v2::DrawModule() const
   gMC->Gdopt ("hide", "off");
 }
 
+//////////////////////////////////////////////////////////////////////
+// Definition of optical properties for the Forward Multiplicity Detector
+//////////////////////////////////////////////////////////////////////
+void AliT0v2::DefineOpticalProperties()
+{
+// Optical properties definition.
+// Definition Cherenkov parameters
+  const Int_t NUMENTRIES = 32;
+
+  Float_t ppckov[NUMENTRIES] =
+            { 2.034E-9, 2.068E-9, 2.103E-9, 2.139E-9,
+              2.177E-9, 2.216E-9, 2.256E-9, 2.298E-9,
+              2.341E-9, 2.386E-9, 2.433E-9, 2.481E-9,
+              2.532E-9, 2.585E-9, 2.640E-9, 2.697E-9,
+              2.757E-9, 2.820E-9, 2.885E-9, 2.954E-9,
+              3.026E-9, 3.102E-9, 3.181E-9, 3.265E-9,
+              3.353E-9, 3.446E-9, 3.545E-9, 3.649E-9,
+              3.760E-9, 3.877E-9, 4.002E-9, 4.136E-9 };
+
+  Float_t rindex_qwarz[NUMENTRIES] =
+            { 1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
+              1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
+              1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
+              1.458, 1.458, 1.458, 1.458, 1.458, 1.458, 1.458,
+              1.458, 1.458, 1.458, 1.458 };
+
+  Float_t rindex_air[NUMENTRIES] =
+            { 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
+              1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
+              1., 1., 1., 1. };
+
+  Float_t effic_all[NUMENTRIES] =
+            { 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
+              1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
+              1., 1., 1., 1. };
+              
+  Float_t absor_qwarz[NUMENTRIES] =
+           { 2000., 2000., 2000., 2000., 2000., 2000., 2000., 
+             2000., 2000., 2000., 2000., 2000., 2000., 2000.,
+             2000., 2000., 2000., 2000., 2000., 2000., 2000.,
+             2000., 2000., 2000., 2000., 2000., 2000., 2000.,
+             2000., 2000., 2000., 2000. };
+
+  Float_t absor_air[NUMENTRIES] =
+           { 200., 200., 200., 200., 200., 200., 200., 
+             200., 200., 200., 200., 200., 200., 200.,
+             200., 200., 200., 200., 200., 200., 200.,
+             200., 200., 200., 200., 200., 200., 200.,
+             200., 200., 200., 200. };
+   
+  Int_t *idtmed = fIdtmed->GetArray();
+
+   gMC->SetCerenkov (idtmed[6], NUMENTRIES, ppckov, absor_qwarz, effic_all, rindex_qwarz);
+   gMC->SetCerenkov (idtmed[1], NUMENTRIES, ppckov, absor_air, effic_all, rindex_air);
+}
 
 //////////////////////////////////////////////////////////////////////
 // Initialises version 2 of the Forward Multiplicity Detector
 //////////////////////////////////////////////////////////////////////
 void AliT0v2::Init()
 {
-//Int_t *idtmed  = gAlice->Idtmed();
-
   AliT0::Init();
   fIdSens1 = gMC->VolId ("0REG");
-
   printf ("*** T0 version 2 initialized ***\n");
 }