]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITS.h
FO signals are propagated from SDigits to Digits (A.MAstroserio)
[u/mrichter/AliRoot.git] / ITS / AliITS.h
index eb39b9c8ae5788b738da4f5bf0b1565d549fa2de..76bdca5cabd2a99bb58373fb15d2ba5d08cc4f22 100644 (file)
@@ -27,7 +27,6 @@ class AliITShit;
 class AliITSgeom;
 class AliITSdigit;
 class AliITSmodule;
-class AliDigitizer;
 class AliRunDigitizer;
 
 
@@ -59,6 +58,11 @@ class AliITS : public AliDetector {
 
     AliITSmodule *GetModule(Int_t index){
         return (AliITSmodule*)(fITSmodules->At(index));}
+    virtual void SetSimuParam(AliITSSimuParam *sp){
+      fSimuParam=sp;
+      fDetTypeSim->SetSimuParam(sp);
+    }
+    AliITSSimuParam* GetSimuParam() const {return fSimuParam;}
 
     virtual void SetDetTypeSim(AliITSDetTypeSim* dts) {fDetTypeSim=dts;}
     AliITSDetTypeSim* GetDetTypeSim() const {return fDetTypeSim;}
@@ -94,15 +98,14 @@ class AliITS : public AliDetector {
     //=================== Hits =========================================
     virtual void StepManager() {} // See Step Manager for specific geometry.
     //------------ sort hits by module for Digitisation ----------------
-    virtual void FillModules(Int_t evnt,Int_t bgrev,Int_t nmodules,
+    virtual void FillModules(Int_t /* evnt */,Int_t bgrev,Int_t /* nmodules */,
                             Option_t *opt, const char *filename); 
     virtual Bool_t InitModules(Int_t size,Int_t &nmodules);  
     virtual void FillModules(TTree *treeH, Int_t mask = 0);
     virtual void ClearModules(){if(fITSmodules) fITSmodules->Delete();}
     virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits);
    // Trigger
-    virtual AliTriggerDetector* CreateTriggerDetector() const
-       { return new AliITSTrigger(); }
+    virtual AliTriggerDetector* CreateTriggerDetector() const;
 
     AliDigitizer* CreateDigitizer(AliRunDigitizer* manager) const;
     virtual void UpdateInternalGeometry();
@@ -143,6 +146,9 @@ class AliITS : public AliDetector {
     virtual void   Digits2Raw();
     virtual Bool_t Raw2SDigits(AliRawReader*);
     
+    //===================== FO signals ================================
+    // Write FO signals in UserInfo of SDigits/Digits tree
+    void WriteFOSignals();
 
  protected:
     static const Int_t fgkNTYPES=3; //number of detector types
@@ -155,11 +161,14 @@ class AliITS : public AliDetector {
     TString      *fIdName;     //[fIdN] layer identifier
     TObjArray    *fITSmodules; //! Pointer to ITS modules
     Bool_t        fTiming;     // flag to turn on/off timers.
+    AliITSSimuParam* fSimuParam; //simulation parameters
+    TClonesArray** fModA;      //! Used by Raw2SDigits (one TC per module)
+    TClonesArray* fpSDigits;   //! Branch address to build SD from raw data 
 
  private:
     AliITS(const AliITS &source); // copy constructor. Not to be used!
     AliITS& operator=(const AliITS &source); // = operator. Not to be used!
-    ClassDef(AliITS,7) // Base class for ITS
+    ClassDef(AliITS,9) // Base class for ITS
 
 };