//_________________________________________________________________________
// Task Class for making SDigits in PHOS
+// Class performs digitization of Summable digits (in the PHOS case this is just
+// sum of contributions of all primary particles into given cell).
+// In addition it performs mixing of summable digits from different events.
//
//*-- Author: Dmitri Peressounko(SUBATECH & KI)
// --- ROOT system ---
#include "TTask.h"
-class TObjString ;
+#include "TObjString.h"
class TArrayI ;
// --- Standard library ---
public:
AliPHOSDigitizer() ; // ctor
- AliPHOSDigitizer(const char *headerFile,const char * sDigitsBranchTitle = 0) ;
+ AliPHOSDigitizer(const char *headerFile, const char * name = "No Name") ;
+ AliPHOSDigitizer(const AliPHOSDigitizer & dtizer) {( (AliPHOSDigitizer &)dtizer ).Copy(*this) ;} // cpy ctor
virtual ~AliPHOSDigitizer() ;
- void Digitize(Option_t *option); // Make Digits from SDigits stored in fSDigits
+ void Digitize(const Int_t event) ; // Make Digits from SDigits
void Exec(Option_t *option); // Supervising method
- Float_t GetCPVNoise() const { return fCPVNoise ;}
- Float_t GetCPVThreshold() const { return fCPVDigitThreshold ;}
- Float_t GetEMCThreshold() const { return fEMCDigitThreshold;}
- Float_t GetPedestal() const { return fPedestal; }
- Float_t GetPinNoise() const { return fPinNoise;}
- Float_t GetPPSDNoise() const { return fPPSDNoise ;}
- Float_t GetPPSDThreshold()const { return fPPSDDigitThreshold ;}
- Float_t GetSlope() const { return fSlope; }
- char * GetDigitsBranch ()const { return (char*)fDigitsTitle.Data() ;}
- TClonesArray * GetHeadersFiles(){ return fHeaderFiles ;}
- TArrayI* GetCurrentEvents() { return fIevent ;}
-
- void MixWith(char* HeaderFile, char* SDigitsTitle =0) ; // Add another one file to mix
+ const Float_t GetCPVNoise() const { return fCPVNoise ;}
+ const Float_t GetCPVThreshold() const { return fCPVDigitThreshold ;}
+ const Float_t GetEMCThreshold() const { return fEMCDigitThreshold;}
+ const Float_t GetPedestal() const { return fPedestal; }
+ const Float_t GetPinNoise() const { return fPinNoise;}
+ const Float_t GetPPSDNoise() const { return fPPSDNoise ;}
+ const Float_t GetPPSDThreshold()const { return fPPSDDigitThreshold ;}
+ const Float_t GetSlope() const { return fSlope; }
+ // const TArrayI * GetCurrentEvents()const { return fIevent ;}
+
+ void MixWith(const char* HeaderFile) ; // Add another one file to mix
virtual void Print(Option_t* option)const ;
void Reset() ; //restarts starts event processing from 0 event(s)
void SetPPSDNoise(Float_t PPSDNoise) {fPPSDNoise = PPSDNoise;}
void SetPPSDThreshold(Float_t PPSDThreshold){fPPSDDigitThreshold = PPSDThreshold;}
- void SetDigitsBranch (const char* file) ;
void SetSDigitsBranch(const char* file) ;
+ AliPHOSDigitizer & operator = (const AliPHOSDigitizer & rvalue) {
+ // assignement operator requested by coding convention but not needed
+ abort() ;
+ return *this ;
+ }
+
private:
- Bool_t Combinator() ; // makes all desirable combination sig+Bg
- void Init();
- Bool_t ReadSDigits() ; // Read sdigits for particular events
- void WriteDigits() ; // Writes Digits for particular event
+ void Init() ;
void PrintDigits(Option_t * option) ;
+ Bool_t ReadSDigits(Int_t evt) ; // Read sdigits for particular events
+ void WriteDigits(Int_t evt) ; // Writes Digits for particular event
private:
- TClonesArray * fSDigitsTitles ; // Titles of sdigits branches
- TClonesArray * fHeaderFiles ; // Names of files with headers to merge
- TString fDigitsTitle ; // Title of the Digits Branch
- TClonesArray * fSDigits ; // ! Lists of SDigits
- TClonesArray * fDigits ; // ! Final list of digits
- AliPHOSSDigitizer * fSDigitizer ; // ! SDigitizer to extarct some sdigitizing parameters
- Int_t fNinputs ; // Number of input files
- Bool_t fInitialized ; //
- TArrayI * fIevent ; // events to read at the next ReadSDigits() call
- TArrayI * fIeventMax ; // Maximal number of events in each input file
Float_t fPedestal ; // Calibration parameters
Float_t fSlope ; // read from SDigitizer