]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITS.h
Major upgrade of AliRoot code
[u/mrichter/AliRoot.git] / ITS / AliITS.h
index 2f2ef676535b085e6630ca8faadeb87da2de7d19..faa47c82bf5cb8a5cd5e12232cb3e2c90a8449a6 100644 (file)
@@ -9,12 +9,16 @@
 //           Manager class for set: ITS                               //
 ////////////////////////////////////////////////////////////////////////
 
+#include <TObjArray.h> // used in inline function GetModule.
 
 #include "AliDetector.h"
+#include "AliITSsimulationSPD.h"
+#include "AliITSsimulationSDD.h"
+#include "AliITSsimulationSSD.h"
 
-class TObjArray;
 class TString;
 class TTree;
+class TFile;
 
 class AliITSDetType;
 class AliITSsimulation;
@@ -27,7 +31,7 @@ class AliITSdigit;
 class AliITSRecPoint;
 class AliITSRawCluster;
 class AliITSmodule;
-
+class AliITStrack;
 
 
 
@@ -66,7 +70,7 @@ class AliITS : public AliDetector {
     // create separate tree for clusters - declustering refining
     virtual  void  MakeTreeC(Option_t *option="C");
     void           GetTreeC(Int_t event);
-    virtual void   MakeBranch(Option_t *opt=" ");
+    virtual void   MakeBranch(Option_t *opt=" ", char *file=0);
     void           SetTreeAddress();
     virtual void   SetEUCLID(Bool_t euclid=1) {fEuclidOut = euclid;}
     virtual void   StepManager() {}
@@ -76,6 +80,7 @@ class AliITS : public AliDetector {
                        Int_t nmodules,Option_t *opt,Text_t *filename);
     virtual void   ClearModules();
     // Digitisation
+    virtual void   SDigits2Digits();  
     void HitsToDigits(Int_t evNumber,Int_t bgrev,Int_t size,
                  Option_t *add, Option_t *det, Text_t *filename);
     // Reconstruct hits
@@ -133,36 +138,38 @@ class AliITS : public AliDetector {
     TTree          *TreeC() {return fTreeC;}
 
 
- protected:
+    // tracking
+
+    AliITStrack Tracking(AliITStrack &track, AliITStrack *reference, TObjArray *fpoints, Int_t **vettid,
+        Bool_t flagvert );  
 
-    static const Int_t fgkNTYPES;          // Number of detector types
+    void DoTracking(Int_t evNumber, Int_t min_t, Int_t max_t, TFile *file, Bool_t flagvert);
 
-    AliITSgeom  *fITSgeom;                   // Pointer to ITS geometry
-    TObjArray   *fITSmodules;                // Pointer to ITS modules
+ protected:
 
-    Bool_t fEuclidOut;                       // Flag to write out geometry 
-                                             // in euclid format
-    Int_t  fIdN;                             // the number of layers
-    Int_t  *fIdSens;                         //[fIdN] layer identifier
-    TString *fIdName;                        //[fIdN] layer identifier
+    static const Int_t fgkNTYPES;  // Number of detector types
+    AliITSgeom *fITSgeom;      // Pointer to ITS geometry
+    TObjArray  *fITSmodules;   //! Pointer to ITS modules
+    Bool_t      fEuclidOut;    // Flag to write geometry in euclid format
+    Int_t       fIdN;          // the number of layers
+    Int_t      *fIdSens;       //[fIdN] layer identifier
+//    TObjArray  *fIdName;       // array of volume Id names
+    TString  *fIdName;       //[fIdN] layer identifier
     // Geometry and Stepmanager version numbers used.
-    Int_t fMajorVersion,fMinorVersion;       //detailed and coarse(minor) versions
-    //
+    Int_t fMajorVersion;      // detailed and coarse(minor) versions
+    Int_t fMinorVersion;      // detailed and coarse(minor) versions
     //
+    // Int_t       fNDetTypes;   // Number of detector types
+    TObjArray     *fDetTypes;    // List of detector types
 
-    // Int_t             fNDetTypes;           //Number of detector types
-    TObjArray            *fDetTypes;           // List of detector types
-
-    TObjArray            *fDtype;              //[fgkNTYPES]  List of digits
-    Int_t                *fNdtype;             //[fgkNTYPES] Number of digits per type of
-                                               // detector 
-    TObjArray            *fCtype;              //[fgkNTYPES] List of clusters
-    Int_t                *fNctype;             //[fgkNTYPES] Number of clusters per type
-                                               // of detector
+    TObjArray     *fDtype;       //[fgkNTYPES]  List of digits
+    Int_t         *fNdtype;      //[fgkNTYPES] Num. of digits per type of det. 
+    TObjArray     *fCtype;       //[fgkNTYPES] List of clusters
+    Int_t         *fNctype;      //[fgkNTYPES] Num. of clust. per type of det.
 
-    TClonesArray         *fRecPoints;          // List of reconstructed points
-    Int_t                 fNRecPoints;         // Number of rec points
-    TTree                *fTreeC;              // Tree for raw clusters
+    TClonesArray  *fRecPoints;   // List of reconstructed points
+    Int_t          fNRecPoints;  // Number of rec points
+    TTree         *fTreeC;       // Tree for raw clusters
 
 
     ClassDef(AliITS,1) // Base class for ITS