]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RICH/AliRICH.h
actor changed to create the task PHOS
[u/mrichter/AliRoot.git] / RICH / AliRICH.h
index fe9cc32f99165313463b63dd5944e96745011fac..bf5bcdc86240b2e9ccd229ea3d20f96fe4ced8b8 100644 (file)
@@ -18,7 +18,7 @@ static const int kNCH=7;
 class TFile;
 
 class AliRICHHit;
-class AliRICHPadHit;
+class AliRICHSDigit;
 class AliRICHRawCluster;
 class AliRICHRecHit1D;
 class AliRICHRecHit3D;
@@ -30,6 +30,7 @@ class AliSegmentation;
 class AliRICHResponse;
 class AliRICHEllipse;
 class AliRICHGeometry;
+class AliRICHMerger;
 
 class AliRICH : public  AliDetector {
  public:
@@ -39,7 +40,7 @@ class AliRICH : public  AliDetector {
     virtual       ~AliRICH();
     virtual void   AddHit(Int_t track, Int_t *vol, Float_t *hits);
     virtual void   AddCerenkov(Int_t track, Int_t *vol, Float_t *cerenkovs);
-    virtual void   AddPadHit(Int_t *clhits);
+    virtual void   AddSDigit(Int_t *clhits);
     virtual void   AddDigits(Int_t id, Int_t *tracks, Int_t *charges, Int_t *digits);
     virtual void   AddRawCluster(Int_t id, const AliRICHRawCluster& cluster);
     virtual void   AddRecHit1D(Int_t id, Float_t* rechit, Float_t* photons, Int_t* padsx, Int_t* padsy);
@@ -55,9 +56,9 @@ class AliRICH : public  AliDetector {
     Int_t          DistancetoPrimitive(Int_t px, Int_t py);
     virtual Int_t  IsVersion() const =0;
 //
-    TClonesArray  *PadHits() {return fPadHits;}
+    TClonesArray  *SDigits() {return fSDigits;}
     TClonesArray  *Cerenkovs() {return fCerenkovs;}
-    virtual void   MakeBranch(Option_t *opt=" ", char *file=0);
+    virtual void   MakeBranch(Option_t *opt=" ", const char *file=0);
     void           SetTreeAddress();
     virtual void   ResetHits();
     virtual void   ResetDigits();
@@ -65,8 +66,10 @@ class AliRICH : public  AliDetector {
     virtual void   ResetRecHits1D();
     virtual void   ResetRecHits3D();
     virtual void   FindClusters(Int_t nev,Int_t lastEntry);
-    virtual void   Digitise(Int_t nev,Int_t flag,Option_t *opt=" ",Text_t *name=" ");
+    virtual void   Hits2SDigits();
     virtual void   SDigits2Digits();
+    virtual void   SDigits2Digits(Int_t nev, Int_t flag);
+    virtual void   Digits2Reco();
 // 
 // Configuration Methods (per station id)
 //
@@ -76,47 +79,52 @@ class AliRICH : public  AliDetector {
     virtual void   SetGeometryModel(Int_t id, AliRICHGeometry *geometry);
     virtual void   SetSegmentationModel(Int_t id, AliSegmentation *segmentation);
     virtual void   SetResponseModel(Int_t id, AliRICHResponse *response);
-    virtual void   SetNsec(Int_t id, Int_t nsec);
 // Set Reconstruction Model
     virtual void   SetReconstructionModel(Int_t id, AliRICHClusterFinder *reconstruction);
 // Set source debugging level
-    void SetDebugLevel(Int_t level) {fDebugLevel=level;}
+    void           SetDebugLevel(Int_t level) {fDebugLevel=level;}
+// Set Merger
+    virtual void   SetMerger(AliRICHMerger* thisMerger) {fMerger=thisMerger;}  
 // Get source debugging level
-    Int_t GetDebugLevel() {return fDebugLevel;}
+    Int_t          GetDebugLevel() {return fDebugLevel;}
 // Response Simulation
-    virtual Int_t   MakePadHits(Float_t xhit,Float_t yhit,Float_t eloss,Int_t id, ResponseType res);
+    virtual Int_t  Hits2SDigits(Float_t xhit,Float_t yhit,Float_t eloss,Int_t id, ResponseType res);
 // Return reference to Chamber #id
-    virtual AliRICHChamber& Chamber(Int_t id) {return *((AliRICHChamber *) (*fChambers)[id]);}
+    virtual        AliRICHChamber& Chamber(Int_t id) {return *((AliRICHChamber *) (*fChambers)[id]);}
 // Retrieve pad hits for a given Hit
-    virtual AliRICHPadHit* FirstPad(AliRICHHit *hit, TClonesArray *clusters);
-    virtual AliRICHPadHit* NextPad(TClonesArray *clusters);
+    virtual        AliRICHSDigit* FirstPad(AliRICHHit *hit, TClonesArray *clusters);
+    virtual        AliRICHSDigit* NextPad(TClonesArray *clusters);
 // Return pointers to digits 
-    TObjArray            *Dchambers() {return fDchambers;}
-    Int_t                *Ndch() {return fNdch;}
+    TObjArray     *Dchambers() {return fDchambers;}
+    Int_t         *Ndch() {return fNdch;}
     virtual TClonesArray *DigitsAddress(Int_t id) {return ((TClonesArray *) (*fDchambers)[id]);}
 // Return pointers to rec. hits
-    TObjArray            *RecHits1D() {return fRecHits1D;}
-    Int_t                *Nrechits1D() {return fNrechits1D;}
+    TObjArray     *RecHits1D() {return fRecHits1D;}
+    Int_t         *Nrechits1D() {return fNrechits1D;}
     virtual TClonesArray *RecHitsAddress1D(Int_t id) {return ((TClonesArray *) (*fRecHits1D)[id]);}
-    TObjArray            *RecHits3D() {return fRecHits3D;}
-    Int_t                *Nrechits3D() {return fNrechits3D;}
+    TObjArray     *RecHits3D() {return fRecHits3D;}
+    Int_t         *Nrechits3D() {return fNrechits3D;}
     virtual TClonesArray *RecHitsAddress3D(Int_t id) {return ((TClonesArray *) (*fRecHits3D)[id]);}
     
 // Return pointers to reconstructed clusters
     virtual TClonesArray *RawClustAddress(Int_t id) {return ((TClonesArray *) (*fRawClusters)[id]);}    
 // Assignment operator
     AliRICH& operator=(const AliRICH& rhs);
-    
+
+// Analysis routines
+    // Full events
+    virtual void DiagnosticsFE(Int_t evNumber1=0,Int_t evNumber2=0);
+    // Single events
+    virtual void DiagnosticsSE(Int_t diaglevel,Int_t evNumber1=0,Int_t evNumber2=0);
     
  protected:
     TObjArray            *fChambers;           // List of Tracking Chambers
-    Int_t                 fNPadHits;           // Number of clusters
+    Int_t                 fNSDigits;           // Number of clusters
     Int_t                 fNcerenkovs;         // Number of cerenkovs
-    TClonesArray         *fPadHits;            // List of clusters
+    TClonesArray         *fSDigits;            // List of clusters
     TObjArray            *fDchambers;          // List of digits
     TClonesArray         *fCerenkovs;          // List of cerenkovs
     Int_t                 fNdch[kNCH];         // Number of digits
-    Text_t               *fFileName;           //! Filename for event mixing
     TObjArray            *fRawClusters;        // List of raw clusters
     TObjArray            *fRecHits1D;          // List of rec. hits
     TObjArray            *fRecHits3D;          // List of rec. hits
@@ -125,24 +133,29 @@ class AliRICH : public  AliDetector {
     Int_t                 fNrechits3D[kNCH];   // Number of rec hits 
     Int_t                 fDebugLevel;         // Source debugging level
 
-    Int_t fCkovNumber;                   // Number of Cerenkov photons
-    Int_t fCkovQuarz;                    // Cerenkovs crossing quartz
-    Int_t fCkovGap;                      // Cerenkovs crossing gap
-    Int_t fCkovCsi;                      // Cerenkovs crossing csi
-    Int_t fLostRfreo;                    // Cerenkovs reflected in freon
-    Int_t fLostRquar;                    // Cerenkovs reflected in quartz
-    Int_t fLostAfreo;                    // Cerenkovs absorbed in freon 
-    Int_t fLostAquarz;                   // Cerenkovs absorbed in quartz
-    Int_t fLostAmeta;                    // Cerenkovs absorbed in methane
-    Int_t fLostCsi;                      // Cerenkovs below csi quantum efficiency 
-    Int_t fLostWires;                    // Cerenkovs lost in wires
-    Int_t fFreonProd;                    // Cerenkovs produced in freon
-    Float_t fMipx;                       // x coord. of MIP
-    Float_t fMipy;                       // y coord. of MIP
-    Int_t fFeedbacks;                    // Number of feedback photons
-    Int_t fLostFresnel;                  // Cerenkovs lost by Fresnel reflection
+    Int_t fCkovNumber;                         // Number of Cerenkov photons
+    Int_t fCkovQuarz;                          // Cerenkovs crossing quartz
+    Int_t fCkovGap;                            // Cerenkovs crossing gap
+    Int_t fCkovCsi;                            // Cerenkovs crossing csi
+    Int_t fLostRfreo;                          // Cerenkovs reflected in freon
+    Int_t fLostRquar;                          // Cerenkovs reflected in quartz
+    Int_t fLostAfreo;                          // Cerenkovs absorbed in freon 
+    Int_t fLostAquarz;                         // Cerenkovs absorbed in quartz
+    Int_t fLostAmeta;                          // Cerenkovs absorbed in methane
+    Int_t fLostCsi;                            // Cerenkovs below csi quantum efficiency 
+    Int_t fLostWires;                          // Cerenkovs lost in wires
+    Int_t fFreonProd;                          // Cerenkovs produced in freon
+    Float_t fMipx;                             // x coord. of MIP
+    Float_t fMipy;                             // y coord. of MIP
+    Int_t fFeedbacks;                          // Number of feedback photons
+    Int_t fLostFresnel;                        // Cerenkovs lost by Fresnel reflection
+
+
+// Background eent for event mixing
+    Text_t *fFileName;                         // ! File with background hits
+    AliRICHMerger *fMerger;                    // ! pointer to merger
     
-    ClassDef(AliRICH,1)  //Hits manager for set:RICH
+    ClassDef(AliRICH,1)                        //Hits manager for set:RICH
 };
 #endif