]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITS.h
Protection involving the existance of gMC added. Usefull when the ITS is used
[u/mrichter/AliRoot.git] / ITS / AliITS.h
index 4c60bbc3e763b2ab047065a8f514b1b9d1c04a92..5709f68d64e06e9764d17f3c86c6bd8963d47d3f 100644 (file)
@@ -12,7 +12,6 @@
 #include <TObjArray.h> // used in inline function GetModule.
 #include <TBranch.h>   // used in inline function SetHitsAddressBranch
 
-#include "AliRun.h"
 #include "AliLoader.h"
 #include "AliDetector.h"
 #include "AliITSDetType.h"
@@ -34,6 +33,7 @@ class AliITSdigit;
 class AliITSRecPoint;
 class AliITSRawCluster;
 class AliITSmodule;
+class AliVertexer;
 
 const Int_t kNTYPES=3;
 
@@ -55,7 +55,7 @@ class AliITS : public AliDetector {
     virtual Int_t GetMinorVersion() const {return -1;}
     virtual void  GetGeometryVersion(Int_t &a,Int_t &b) 
                           {a = GetMajorVersion();b=GetMinorVersion();return;}
-    virtual void  SetEUCLID(Bool_t euclid=1) {fEuclidOut = euclid;}
+    virtual void  SetEUCLID(Bool_t euclid=kTRUE) {fEuclidOut = euclid;}
     //-------------------- Geometry Transformations --------------------
     // ITS geometry functions
     AliITSgeom   *GetITSgeom() const {return fITSgeom;}
@@ -107,7 +107,7 @@ class AliITS : public AliDetector {
     virtual void InitModules(Int_t size,Int_t &nmodules);  
     virtual void FillModules(TTree *treeH, Int_t mask = 0);
     virtual void FillModules(Int_t evnt,Int_t bgrev,Int_t nmodules,
-                            Option_t *opt,Text_t *filename);
+                            Option_t *opt, const char *filename);
     virtual void ClearModules();
 
     //===================== Digitisation ===============================
@@ -116,23 +116,24 @@ class AliITS : public AliDetector {
     TClonesArray * GetSDigits() { return fSDigits; }
     void MakeBranchInTreeD(TTree *treeD,const char *file=0);
     void MakeBranchD(const char *file){
-       MakeBranchInTreeD(gAlice->TreeD(),file);}
+       MakeBranchInTreeD(GetLoader()->TreeD(),file);}
     void SetTreeAddressD(TTree *treeD);
     void Hits2SDigits(); // Turn hits into SDigits
     void Hits2PreDigits(); // Turn hits into SDigits
+    AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
     void SDigits2Digits(){SDigitsToDigits("All");} // Turn SDigits to Digits
     void SDigitsToDigits(Option_t *opt="All"); // Turn SDigits to Digits
     void Hits2Digits(); // Turn hits straight into Digits.
     //------------------ Internal functions ----------------------------
     // Standard Hits To SDigits function
     void HitsToSDigits(Int_t evNumber,Int_t bgrev,Int_t size,
-                 Option_t *add, Option_t *det, Text_t *filename);
+                 Option_t *add, Option_t *det, const char *filename);
     // Standard Hits To SDigits function
     void HitsToPreDigits(Int_t evNumber,Int_t bgrev,Int_t size,
-                 Option_t *add, Option_t *det, Text_t *filename);
+                 Option_t *add, Option_t *det, const char *filename);
     // Standard Hits To Digits function
     void HitsToDigits(Int_t evNumber,Int_t bgrev,Int_t size,
-                 Option_t *add, Option_t *det, Text_t *filename);
+                 Option_t *add, Option_t *det, const char *filename);
     void ResetSDigits();                  // Resets the Summable digits.
     void ResetDigits();                   // depending on how the
     void ResetDigits(Int_t branch);       // tree will be filled only
@@ -146,6 +147,7 @@ class AliITS : public AliDetector {
     Int_t        *Ndtype() {return fNdtype;}
     TClonesArray *DigitsAddress(Int_t id)
        {return ((TClonesArray *) (*fDtype)[id]);}
+    void SelectVertexer(TString sel=" "){fSelectedVertexer = sel;}
 
     //===================== Raw Data IO ================================
     // Write digits into raw data format
@@ -173,12 +175,17 @@ class AliITS : public AliDetector {
     void SetTreeAddressR(TTree *treeR);
     void AddRecPoint(const AliITSRecPoint &p);
     void HitsToFastRecPoints(Int_t evNumber,Int_t bgrev,Int_t size,
-                 Option_t *add, Option_t *det, Text_t *filename);
+                 Option_t *add, Option_t *det, const char *filename);
     void Digits2Reco();
     void DigitsToRecPoints(Int_t evNumber,Int_t lastEntry,Option_t *det);
     void ResetRecPoints();
     // Return pointer to rec points 
     TClonesArray  *RecPoints()   {return fRecPoints;}
+
+    virtual void Reconstruct() const;
+    virtual AliTracker* CreateTracker() const;
+    virtual AliVertexer* CreateVertexer() const;
+    virtual void FillESD(AliESD* esd) const;
      
  protected:
     //================== Data Members ==================================
@@ -205,8 +212,9 @@ class AliITS : public AliDetector {
 
     TClonesArray *fRecPoints;  //! List of reconstructed points
     Int_t         fNRecPoints; // Number of rec points
+    TString fSelectedVertexer; // Vertexer selected in CreateVertexer
 
-    ClassDef(AliITS,3) // Base class for ITS
+    ClassDef(AliITS,4) // Base class for ITS
 };
 
 #endif