LCOV - code coverage report
Current view: top level - TRD/TRDsim - AliTRDdigitizer.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 10 20.0 %
Date: 2016-06-14 17:26:59 Functions: 3 14 21.4 %

          Line data    Source code
       1             : #ifndef ALITRDDIGITIZER_H
       2             : #define ALITRDDIGITIZER_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : ////////////////////////////////////////////////////////////////////////////
       9             : //                                                                        //
      10             : //  Produces digits from the hits information                             //
      11             : //                                                                        //
      12             : ////////////////////////////////////////////////////////////////////////////
      13             : 
      14             : #include "AliDigitizer.h"
      15             : 
      16             : class TFile;
      17             : class TF1;
      18             : 
      19             : class AliDigitizationInput;
      20             : class AliRunLoader;
      21             : 
      22             : class AliTRD;
      23             : class AliTRDdigitsManager;
      24             : class AliTRDgeometry;
      25             : class AliTRDarraySignal;
      26             : class AliTRDarrayADC;
      27             : class AliTRDmcmSim;
      28             : 
      29             : class AliTRDdigitizer : public AliDigitizer {
      30             : 
      31             :  public:
      32             : 
      33             :   AliTRDdigitizer();
      34             :   AliTRDdigitizer(const Text_t *name, const Text_t *title);
      35             :   AliTRDdigitizer(AliDigitizationInput* digInput, const Text_t *name, const Text_t *title);
      36             :   AliTRDdigitizer(AliDigitizationInput* digInput);
      37             :   AliTRDdigitizer(const AliTRDdigitizer &d);
      38             :   virtual             ~AliTRDdigitizer();
      39             :   AliTRDdigitizer     &operator=(const AliTRDdigitizer &d);
      40             : 
      41             :   virtual void         Copy(TObject &d) const;
      42             :           Bool_t       InitDetector();
      43             :           void         InitOutput(Int_t iEvent);
      44             :   virtual void         Digitize(const Option_t * option = 0);  
      45             : 
      46             :   virtual Bool_t       Open(const Char_t *file, Int_t nEvent = 0);
      47             :   virtual Bool_t       Open(AliRunLoader * const runLoader, Int_t nEvent = 0);
      48             :   virtual Bool_t       MakeBranch(TTree *tree) const;
      49             :   virtual Bool_t       WriteDigits() const;
      50             : 
      51             :   virtual void         AddSDigitsManager(AliTRDdigitsManager *manager);
      52             :   virtual void         DeleteSDigitsManager();
      53             : 
      54             :   virtual Bool_t       MakeDigits();
      55             : 
      56             :           Bool_t       SortHits(Float_t **hits, Int_t *nhit);
      57             :           Bool_t       ConvertHits(Int_t det, const Float_t * const hits, Int_t nhit, AliTRDarraySignal *signals);
      58             :           Bool_t       ConvertSignals(Int_t det, AliTRDarraySignal *signals);
      59             : 
      60             :           Bool_t       Digits2SDigits(AliTRDdigitsManager * const manDig, AliTRDdigitsManager * const manSDig);
      61             :           Bool_t       SDigits2Digits();
      62             :           Bool_t       MergeSDigits();
      63             :           Bool_t       ConvertSDigits();
      64             : 
      65             :           Bool_t       Signal2ADC(Int_t det, AliTRDarraySignal *signals);
      66             :           Bool_t       Signal2SDigits(Int_t det, AliTRDarraySignal *signals);
      67             :           Bool_t       CopyDictionary(Int_t det);
      68             :           void         CompressOutputArrays(Int_t det);
      69             : 
      70           0 :           void         SetCompress(Int_t c = 1)                    { fCompress        = c;   }
      71           2 :           void         SetSDigits(Int_t v = 1)                     { fSDigits         = v;   }
      72           0 :           void         SetEvent(Int_t v = 0)                       { fEvent           = v;   }
      73           0 :           void         SetManager(AliTRDdigitsManager * const man) { fDigitsManager   = man; }
      74           0 :           void         SetGeometry(AliTRDgeometry * const geo)     { fGeo             = geo; }
      75           0 :           void         SetMergeSignalOnly(Bool_t m = kTRUE)        { fMergeSignalOnly = m;   }
      76             : 
      77           0 :   AliTRDdigitsManager *Digits() const                              { return fDigitsManager;  }
      78             : 
      79           0 :           Bool_t       GetCompress() const                         { return fCompress;       }
      80           0 :           Bool_t       GetSDigits() const                          { return fSDigits;        }
      81             : 
      82             :           Int_t        Diffusion(Float_t vdrift, Double_t absdriftlength, Double_t exbvalue
      83             :                                , Double_t &lRow, Double_t &lCol, Double_t &lTime);
      84             :           void         RunDigitalProcessing(Int_t det = 0);
      85             : 
      86             :  protected:
      87             : 
      88             :   AliRunLoader        *fRunLoader;          //! Local pointer
      89             :   AliTRDdigitsManager *fDigitsManager;      //! Manager for the output digits
      90             :   AliTRDdigitsManager *fSDigitsManager;     //! Manager for the summed input s-digits
      91             :   TList               *fSDigitsManagerList; //! List of managers of input s-digits
      92             :   AliTRD              *fTRD;                //! TRD detector class
      93             :   AliTRDgeometry      *fGeo;                //! TRD geometry
      94             : 
      95             :   AliTRDmcmSim        *fMcmSim;             //! MCM simulation for digital processing
      96             : 
      97             :           Int_t        fEvent;              //! Event number
      98             :           Int_t       *fMasks;              //! Masks for the merging
      99             :           Bool_t       fCompress;           //  Switch to keep only compressed data in memory
     100             :           Bool_t       fSDigits;            //  Switch for the summable digits
     101             :           Bool_t       fMergeSignalOnly;    //  Merge only detectors that contain a signal
     102             : 
     103        6292 :   ClassDef(AliTRDdigitizer,20)              //  Produces TRD-Digits
     104             : 
     105             : };
     106             : #endif

Generated by: LCOV version 1.11