]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDdigitizer.h
- remove legacy code for old raw stream
[u/mrichter/AliRoot.git] / TRD / AliTRDdigitizer.h
index 7d7b534fe445fec3a1fa432cc26b7a8cf050d474..fbbefc2dc75634517c83b6e8f061b12aa5204b4b 100644 (file)
@@ -22,9 +22,9 @@ class AliRunLoader;
 class AliTRD;
 class AliTRDdigitsManager;
 class AliTRDgeometry;
-class AliTRDfeeParam;
-class AliTRDdataArrayF;
-class AliTRDsegmentArray;
+class AliTRDarraySignal;
+class AliTRDarrayADC;
+class AliTRDmcmSim;
 
 class AliTRDdigitizer : public AliDigitizer {
 
@@ -41,10 +41,10 @@ class AliTRDdigitizer : public AliDigitizer {
   virtual void         Copy(TObject &d) const;
           Bool_t       InitDetector();
           void         InitOutput(Int_t iEvent);
-  virtual void         Exec(Option_t *option = 0);  
+  virtual void         Exec(const Option_t * const option = 0);  
 
   virtual Bool_t       Open(const Char_t *file, Int_t nEvent = 0);
-  virtual Bool_t       Open(AliRunLoader *runLoader, Int_t nEvent = 0);
+  virtual Bool_t       Open(AliRunLoader * const runLoader, Int_t nEvent = 0);
   virtual Bool_t       MakeBranch(TTree *tree) const;
   virtual Bool_t       WriteDigits() const;
 
@@ -54,43 +54,38 @@ class AliTRDdigitizer : public AliDigitizer {
   virtual Bool_t       MakeDigits();
 
           Bool_t       SortHits(Float_t **hits, Int_t *nhit);
-          Bool_t       ConvertHits(Int_t det, Float_t *hits, Int_t nhit, AliTRDdataArrayF *signals);
-          Bool_t       ConvertSignals(Int_t det, AliTRDdataArrayF *signals);
+          Bool_t       ConvertHits(Int_t det, const Float_t * const hits, Int_t nhit, AliTRDarraySignal *signals);
+          Bool_t       ConvertSignals(Int_t det, AliTRDarraySignal *signals);
 
+          Bool_t       Digits2SDigits(AliTRDdigitsManager * const manDig, AliTRDdigitsManager * const manSDig);
           Bool_t       SDigits2Digits();
           Bool_t       MergeSDigits();
           Bool_t       ConvertSDigits();
 
-          Bool_t       Signal2ADC(Int_t det, AliTRDdataArrayF *signals);
-          Bool_t       Signal2SDigits(Int_t det, AliTRDdataArrayF *signals);
+          Bool_t       Signal2ADC(Int_t det, AliTRDarraySignal *signals);
+          Bool_t       Signal2SDigits(Int_t det, AliTRDarraySignal *signals);
           Bool_t       CopyDictionary(Int_t det);
-          void         CompressOutputArrays(Int_t det);
+         void         CompressOutputArrays(Int_t det);
 
-          void         SetCompress(Int_t c = 1)             { fCompress        = c;   }
-          void         SetSDigits(Int_t v = 1)              { fSDigits         = v;   }
-          void         SetEvent(Int_t v = 0)                { fEvent           = v;   }
-          void         SetManager(AliTRDdigitsManager *man) { fDigitsManager   = man; }
-          void         SetGeometry(AliTRDgeometry *geo)     { fGeo             = geo; }
-          void         SetMergeSignalOnly(Bool_t m = kTRUE) { fMergeSignalOnly = m;   }
+          void         SetCompress(Int_t c = 1)                    { fCompress        = c;   }
+          void         SetSDigits(Int_t v = 1)                     { fSDigits         = v;   }
+          void         SetEvent(Int_t v = 0)                       { fEvent           = v;   }
+          void         SetManager(AliTRDdigitsManager * const man) { fDigitsManager   = man; }
+          void         SetGeometry(AliTRDgeometry * const geo)     { fGeo             = geo; }
+          void         SetMergeSignalOnly(Bool_t m = kTRUE)        { fMergeSignalOnly = m;   }
 
-  AliTRDdigitsManager *Digits() const                       { return fDigitsManager;  }
+  AliTRDdigitsManager *Digits() const                              { return fDigitsManager;  }
 
-          Bool_t       GetCompress() const                  { return fCompress;       }
-          Bool_t       GetSDigits() const                   { return fSDigits;        }
-          Float_t      GetDiffusionT(Float_t vdrift);
-          Float_t      GetDiffusionL(Float_t vdrift);
+          Bool_t       GetCompress() const                         { return fCompress;       }
+          Bool_t       GetSDigits() const                          { return fSDigits;        }
           Float_t      GetLorentzFactor(Float_t vdrift);
 
-          Double_t     TimeStruct(Float_t vdrift, Double_t time, Double_t z);
           Int_t        Diffusion(Float_t vdrift, Double_t absdriftlength
                                , Double_t &lRow, Double_t &lCol, Double_t &lTime);
           Int_t        ExB(Float_t vdrift, Double_t driftlength, Double_t &lRow);
-  
- protected:
+         void         RunDigitalProcessing(Int_t det = 0);
 
-  virtual Bool_t       Init();
-          void         SampleTimeStruct(Float_t vdrift);
-          void         RecalcDiffusion(Float_t vdrift);
+ protected:
 
   AliRunLoader        *fRunLoader;          //! Local pointer
   AliTRDdigitsManager *fDigitsManager;      //! Manager for the output digits
@@ -98,7 +93,8 @@ class AliTRDdigitizer : public AliDigitizer {
   TList               *fSDigitsManagerList; //! List of managers of input s-digits
   AliTRD              *fTRD;                //! TRD detector class
   AliTRDgeometry      *fGeo;                //! TRD geometry
-  AliTRDfeeParam      *fFee;                //  Fee Parameters
+
+  AliTRDmcmSim        *fMcmSim;             //! MCM simulation for digital processing
 
           Int_t        fEvent;              //! Event number
           Int_t       *fMasks;              //! Masks for the merging
@@ -106,19 +102,7 @@ class AliTRDdigitizer : public AliDigitizer {
           Bool_t       fSDigits;            //  Switch for the summable digits
           Bool_t       fMergeSignalOnly;    //  Merge only detectors that contain a signal
 
-          Float_t      fDiffLastVdrift;     //  The structures are valid for fLastVdrift (caching)
-          Float_t      fDiffusionT;         //  Transverse drift coefficient
-          Float_t      fDiffusionL;         //  Longitudinal drift coefficient
-          Float_t      fOmegaTau;           //  Tangens of the Lorentz angle
-          Float_t      fLorentzFactor;      //  Factor due to Lorentz force
-
-          Float_t      fTimeLastVdrift;     //  The structures are valid for fLastVdrift (caching)
-          Float_t     *fTimeStruct1;        //! Time Structure of Drift Cells
-          Float_t     *fTimeStruct2;        //! Time Structure of Drift Cells
-          Float_t      fVDlo;               //  Lower drift velocity, for interpolation
-          Float_t      fVDhi;               //  Higher drift velocity, for interpolation
-
-  ClassDef(AliTRDdigitizer,16)              //  Produces TRD-Digits
+  ClassDef(AliTRDdigitizer,20)              //  Produces TRD-Digits
 
 };
 #endif