]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITS.h
New version containing the files for tracking
[u/mrichter/AliRoot.git] / ITS / AliITS.h
index e4d71f5c3f0552bfec339792b9beaaadf217afb4..bae6046c7a1a63e66adff14dd95165c8ff00d3d8 100644 (file)
@@ -9,26 +9,28 @@
 //           Manager class for set: ITS                               //
 ////////////////////////////////////////////////////////////////////////
 
-#include <TObjArray.h>
-#include <TBranch.h>
-#include <TString.h>
-#include <TTree.h>
-#include <TFile.h>
-#include <TObjectTable.h>
+#include <TObjArray.h> // used in inline function GetModule.
 
 #include "AliDetector.h"
-#include "AliITSgeom.h"
-#include "AliITSsegmentation.h"
-#include "AliITSresponse.h"
-#include "AliITShit.h"
-#include "AliITSdigit.h"
-#include "AliITSmodule.h"
-#include "AliITSRecPoint.h"
-#include "AliITSRawCluster.h"
+
+class TString;
+class TTree;
+class TFile;
 
 class AliITSDetType;
 class AliITSsimulation;
 class AliITSClusterFinder;
+class AliITSsegmentation;
+class AliITSresponse;
+class AliITShit;
+class AliITSgeom;
+class AliITSdigit;
+class AliITSRecPoint;
+class AliITSRawCluster;
+class AliITSmodule;
+class AliITStrack;
+
+
 
 class AliITS : public AliDetector {
 
@@ -57,7 +59,7 @@ class AliITS : public AliDetector {
     void GetGeometryVersion(Int_t &a,Int_t &b) const 
                   {a = fMajorVersion;b=fMinorVersion;return;}
     virtual Int_t  IsVersion() const {return 1;}
-            Int_t  DistancetoPrimitive(Int_t px, Int_t py);
+    virtual Int_t  DistancetoPrimitive(Int_t px, Int_t py);
     virtual void   Init();
     virtual void   SetDefaults();
     virtual void   SetDefaultSimulation();
@@ -132,36 +134,38 @@ class AliITS : public AliDetector {
     TTree          *TreeC() {return fTreeC;}
 
 
- protected:
+    // tracking
 
-    static const Int_t fgkNTYPES=3;          // Number of detector types
+    AliITStrack Tracking(AliITStrack &track, AliITStrack *reference, TObjArray *fpoints, Int_t **vettid,
+        Bool_t flagvert );  
 
-    AliITSgeom  *fITSgeom;                   // Pointer to ITS geometry
-    TObjArray   *fITSmodules;                // Pointer to ITS modules
+    void DoTracking(Int_t evNumber, Int_t min_t, Int_t max_t, TFile *file, Bool_t flagvert);
 
-    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
+ protected:
+
+    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