]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITS.h
Introduce the function Digits2Reco() and write the defaults for simulation and recons...
[u/mrichter/AliRoot.git] / ITS / AliITS.h
index e4d71f5c3f0552bfec339792b9beaaadf217afb4..0a54006a601954dcb076d137edb047827dd7f66c 100644 (file)
@@ -9,26 +9,29 @@
 //           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;
+
+
+const Int_t kNTYPES=3;
+
 
 class AliITS : public AliDetector {
 
@@ -54,10 +57,12 @@ class AliITS : public AliDetector {
     virtual void   ResetRecPoints();
 
     // get geometry version - detailed (major) or coarse (minor)
-    void GetGeometryVersion(Int_t &a,Int_t &b) const 
-                  {a = fMajorVersion;b=fMinorVersion;return;}
+    virtual Int_t  GetMajorVersion(){return -1;}
+    virtual Int_t  GetMinorVersion(){return -1;}
+    void GetGeometryVersion(Int_t &a,Int_t &b) 
+                  {a = GetMajorVersion();b=GetMinorVersion();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();
@@ -65,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=" ", const char *file=0);
     void           SetTreeAddress();
     virtual void   SetEUCLID(Bool_t euclid=1) {fEuclidOut = euclid;}
     virtual void   StepManager() {}
@@ -75,9 +80,11 @@ 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
+    void Digits2Reco();
     void DigitsToRecPoints(Int_t evNumber,Int_t lastEntry,Option_t *det);
     // Fast simulation of space points from hits
     void HitsToFastRecPoints(Int_t evNumber,Int_t bgrev,Int_t size,
@@ -132,36 +139,27 @@ class AliITS : public AliDetector {
     TTree          *TreeC() {return fTreeC;}
 
 
- protected:
 
-    static const Int_t fgkNTYPES=3;          // Number of detector types
-
-    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
-    // Geometry and Stepmanager version numbers used.
-    Int_t fMajorVersion,fMinorVersion;       //detailed and coarse(minor) versions
+    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
+    TString    *fIdName;       //[fIdN] layer identifier
     //
-    //
-
-    // 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;       // List of digits
+    Int_t         *fNdtype;      //[fNDetTypes] Num. of digits per type of det. 
+    TObjArray     *fCtype;       // List of clusters
+    Int_t         *fNctype;      //[fNDetTypes] 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