#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"
#include "AliT0hit.h"
#include "AliT0v2.h"
#include "AliMC.h"
-//#include "AliT0hitPhoton.h"
-//#include "TGeant3.h"
ClassImp(AliT0v2)
//////////////////////////////////////////////////////////////////////
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;
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);
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);
}
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");
}