]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITS.h
Use kinematic check to filter out particles from being added to the stack, unless...
[u/mrichter/AliRoot.git] / ITS / AliITS.h
index 73d30b2e5d401f1594fb57439cdda29e2a18964c..3524e46c8fcf2e764177ac34a37f56048d8e5d00 100644 (file)
@@ -27,12 +27,15 @@ class AliITShit;
 class AliITSgeom;
 class AliITSdigit;
 class AliITSmodule;
-class AliRunDigitizer;
-
+class AliDigitizationInput;
+class TArrayI;
 
 class AliITS : public AliDetector {
 
  public:
+  enum {kSPD,kSDD,kSSD};
+  enum {kMaxLabel=3141593};  // default track label assigned to digits/clusters
+
     //================= Standard Classes ===============================
     AliITS();  // Default creator.
     AliITS(const Char_t *title); // standard Creator
@@ -107,6 +110,7 @@ class AliITS : public AliDetector {
    // Trigger
     virtual AliTriggerDetector* CreateTriggerDetector() const;
 
+    AliDigitizer* CreateDigitizer(AliDigitizationInput* digInput) const;
     virtual void UpdateInternalGeometry();
     virtual void SDigitsToDigits(Option_t *opt="All");
     virtual void SDigits2Digits(){SDigitsToDigits("All");}
@@ -143,8 +147,13 @@ class AliITS : public AliDetector {
     //===================== Raw Data IO ================================
     // Write digits into raw data format
     virtual void   Digits2Raw();
-    virtual Bool_t Raw2SDigits(AliRawReader*);
+    virtual Bool_t Raw2SDigits(AliRawReader*  rawReader);
     
+    //===================== FO signals ================================
+    // Write FO signals in UserInfo of SDigits/Digits tree
+    void WriteFOSignals();
+    void     SetRawID2ClusID(const TArrayI* arr, Int_t iDet) { if (iDet>-1&&iDet<fgkNTYPES) fkRawID2ClusID[iDet] = arr;}
+    const TArrayI* GetRawID2ClusID(Int_t iDet) const {return (iDet>-1&&iDet<fgkNTYPES) ? fkRawID2ClusID[iDet]:0;}
 
  protected:
     static const Int_t fgkNTYPES=3; //number of detector types
@@ -160,7 +169,7 @@ class AliITS : public AliDetector {
     AliITSSimuParam* fSimuParam; //simulation parameters
     TClonesArray** fModA;      //! Used by Raw2SDigits (one TC per module)
     TClonesArray* fpSDigits;   //! Branch address to build SD from raw data 
-
+    const TArrayI* fkRawID2ClusID[fgkNTYPES]; //! optional array for SDigit->Cluster assingment in Raw2SDigit (for embedding)
  private:
     AliITS(const AliITS &source); // copy constructor. Not to be used!
     AliITS& operator=(const AliITS &source); // = operator. Not to be used!