]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRD.cxx
Move JETANdev to JETAN (step 3)
[u/mrichter/AliRoot.git] / TRD / AliTRD.cxx
index b7ebdb9efd83a7b5f60912411014e9bcfc0e7711..727e7085aa80cd4a158d174f1ec51e6fa656ccdb 100644 (file)
@@ -30,6 +30,7 @@
 #include "AliMC.h"
 #include "AliMagF.h"
 #include "AliRun.h"
+#include "AliLoader.h"
 
 #include "AliTRD.h"
 #include "AliTRDdigitizer.h"
@@ -48,6 +49,7 @@ AliTRD::AliTRD()
   ,fGasDensity(0)
   ,fFoilDensity(0)
   ,fGasNobleFraction(0)
+  ,fPrimaryIonisation(0)
 {
   //
   // Default constructor
@@ -62,6 +64,7 @@ AliTRD::AliTRD(const char *name, const char *title)
   ,fGasDensity(0)
   ,fFoilDensity(0)
   ,fGasNobleFraction(0)
+  ,fPrimaryIonisation(0)
 {
   //
   // Standard constructor for the TRD
@@ -176,13 +179,13 @@ void AliTRD::Hits2SDigits()
 }
 
 //_____________________________________________________________________________
-AliDigitizer *AliTRD::CreateDigitizer(AliRunDigitizer *manager) const
+AliDigitizer *AliTRD::CreateDigitizer(AliDigitizationInput* digInput) const
 {
   //
   // Creates a new digitizer object
   //
 
-  return new AliTRDdigitizer(manager);
+  return new AliTRDdigitizer(digInput);
 
 }
 
@@ -550,14 +553,6 @@ void AliTRD::Init()
     AliError("Not a valid geometry");
   }
 
-  // Special tracking options for charged particles for XeCO2
-  gMC->Gstpar((* fIdtmed)[9],"DRAY"    , 1.0);
-  gMC->Gstpar((* fIdtmed)[9],"STRA"    , 1.0); 
-  gMC->Gstpar((* fIdtmed)[9],"LOSS"    ,13.0);      // Specific energy loss
-  // Parameters specific to Fluka
-  //gMC->Gstpar((* fIdtmed)[9],"PRIMIO_E",23.53);     // 1st ionisation potential
-  //gMC->Gstpar((* fIdtmed)[9],"PRIMIO_N",19.344431); // Number of primaries
-
 }
 
 //_____________________________________________________________________________
@@ -610,31 +605,61 @@ Bool_t AliTRD::Raw2SDigits(AliRawReader *rawReader)
     tree = loader->TreeS();
   }
 
+  AliTRDdigitizer digitizer("TRDdigitizer","TRD digitizer class");  
+
   AliTRDrawData       *rawdata        = new AliTRDrawData();
-  AliTRDdigitsManager *sdigitsManager = rawdata->Raw2Digits(rawReader);
+  AliTRDdigitsManager *digitsManager  = rawdata->Raw2Digits(rawReader);
+
+  // Create the s-digits manager
+  AliTRDdigitsManager *sdigitsManager = new AliTRDdigitsManager();
+
   if (sdigitsManager) {
+
     sdigitsManager->SetSDigits(kTRUE);
+    sdigitsManager->CreateArrays();
+
+    // Convert the digits into s-digits
+    digitizer.Digits2SDigits(digitsManager,sdigitsManager);
+
     sdigitsManager->MakeBranch(tree);
     sdigitsManager->WriteDigits();
+
+    delete digitsManager;
+
     return kTRUE;
+
   } 
   else {
+
     return kFALSE;
+
   }
 
 }
 
 //_____________________________________________________________________________
-AliLoader* AliTRD::MakeLoader(const char* topfoldername)
+AliLoader *AliTRD::MakeLoader(const Char_t *topfoldername)
 {
+  //
+  // Create a loader for the TRD tracklets
+  //
+
  fLoader = new AliLoader(GetName(),topfoldername);
 
  AliInfo("Adding Tracklets-loader");
- AliDataLoader *dl = new AliDataLoader("TRD.Tracklets.root","tracklets", "tracklets");
+
+ AliDataLoader *dl = new AliDataLoader("TRD.Tracklets.root"
+                                      ,"tracklets"
+                                      ,"tracklets");
  fLoader->AddDataLoader(dl);
- dl = new AliDataLoader("TRD.GtuTracks.root", "gtutracks", "gtutracks");
+
+                dl = new AliDataLoader("TRD.GtuTracks.root"
+                                      ,"gtutracks"
+                                      ,"gtutracks");
  fLoader->AddDataLoader(dl);
+
  return fLoader;
+
 }
 
 //_____________________________________________________________________________