Merging added and test macro
[u/mrichter/AliRoot.git] / TOF / AliTOFDigitizer.h
index cc9c81fa238bfe81bfa6c84ab331588d1a1240c2..c56c9ec14ba753d5419e3c7fdaf1622bcefd4209 100644 (file)
@@ -1,57 +1,44 @@
-#ifndef ALITOFDigitizer_H
-#define ALITOFDigitizer_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+#ifndef ALITOFDIGITIZER_H
+#define ALITOFDIGITIZER_H
+/* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
 //_________________________________________________________________________
-//  Task Class for making Digits in TOF
-//  Comment:
-//
-// -- Author: F. Pierella (Bologna University) pierella@bo.infn.it
+//  Task Class for making Digits in TOF      
+// Class performs digitization of Summable digits (in the TOF case this is just
+// sum of contributions of all signals into a given pad). 
+// In addition it performs mixing of summable digits from different events.
+//                  
+//*-- Author: Fabrizio Pierella (Bologna University)
 
+#include "AliDigitizer.h"
 
-#include "TTask.h"
-#include "TString.h"
+class AliRunDigitizer;
+class AliTOFHitMap;
+class AliTOFSDigit;
 
-class AliTOFDigitizer ;
-
-class AliTOFDigitizer: public TTask {
-
-public:
-  AliTOFDigitizer() ;          // ctor
-  AliTOFDigitizer(const char* HeaderFile,const char* digitsTitle = 0) ; 
-  virtual ~AliTOFDigitizer() ; // dtor
-  virtual void  Exec(Option_t* option); 
+class AliTOFDigitizer : public AliDigitizer {
+ public:
   
-  Float_t  GetTimeRes() const {return fTimeRes;}
-  Float_t  GetChrgRes() const {return fChrgRes;}
-  char*    GetDigitsBranch()const{return (char*) fDigitsTitle.Data();}  
-
-  virtual void Print(Option_t* option) const ;
-
-  void     SetTimeRes(Float_t timeRes)  {fTimeRes = timeRes ;}
-  void     SetChrgRes(Float_t chrgRes)  {fChrgRes = chrgRes ;}
-  void     SetDigitsBranch(const char* title ) ;
-
-  Bool_t   operator == (const AliTOFDigitizer & sd) const ;
-
-private:
-  void     Init() ;
-  void     PrintDigits(Option_t* option) ;
-
-private:
-  Float_t fTimeRes;                // Time Resolution
-  Float_t fChrgRes;                // ADC parameter
-  Int_t   fNevents ;               // Number of events to digitize
-  TString fDigitsTitle ;           // title of Digits branch
-  TString fHeadersFile ;           // input file
-  Bool_t  fIsInitialized ;         // kTRUE if Digitizer is initialized
-  TClonesArray* fDigits ;          // list of Digits
-  TClonesArray* fHits ;            // list of Hits
-
-
-  ClassDef(AliTOFDigitizer,1)  // Task Class for making Digits in TOF
-
-};
-
-#endif // AliTOFDigitizer_H
+  AliTOFDigitizer();
+  AliTOFDigitizer(AliRunDigitizer * manager);
+  virtual ~AliTOFDigitizer();
+  
+  // Do the main work
+  void Exec(Option_t* option=0) ;
+  TClonesArray* SDigits() const {return fSDigitsArray;}
+  void ReadSDigit(Int_t);
+  void CreateDigits();
+  
+ private:
+  void CollectSDigit(AliTOFSDigit * sdigit) ;
+  Int_t PutNoise(Int_t charge){return 0;}; // not yet implemented
+                                           // due to the low noise expected level
+  TClonesArray *fDigits;             //! array with digits
+  TClonesArray *fSDigitsArray      ; //! List of summable digits; used as a container for all sdigits to be merged
+  AliTOFHitMap *fhitMap ;            //! hit map used to perform the merging
+  
+  ClassDef(AliTOFDigitizer,0)  // TOF/Merging/Digitization
+};    
+#endif
+