//_________________________________________________________________________
-#include <stdlib.h>
// --- ROOT system ---
-
#include "TObjString.h"
class TArrayI ;
+class TClonesArray ;
+
// --- Standard library ---
+#include <stdlib.h>
// --- AliRoot header files ---
-class AliEMCALSDigitizer ;
-#include "AliRunDigitizer.h"
#include "AliDigitizer.h"
-
+class AliEMCALSDigitizer ;
+class AliRunDigitizer ;
class AliEMCALDigitizer: public AliDigitizer {
public:
AliEMCALDigitizer() ; // ctor
- AliEMCALDigitizer(const char *headerFile,const char * sDigitsBranchTitle = "Default") ;
+ AliEMCALDigitizer(const char *headerFile, const char * sDigitsBranchTitle = "Default", const Bool_t toSplit = kFALSE) ;
AliEMCALDigitizer(AliRunDigitizer * ard) ;
AliEMCALDigitizer(const AliEMCALDigitizer & dtizer)
{( (AliEMCALDigitizer &)dtizer ).Copy(*this) ;}
virtual ~AliEMCALDigitizer() ;
- void Digitize(const Int_t); // Make Digits from SDigits stored in fSDigits
- void Exec(Option_t *option); // Supervising method
+ void Digitize(const Int_t event); // Make Digits from SDigits stored in fSDigits
+ void Exec(Option_t *option); // Supervising method
- const TString GetHitsFileName() const { return fHitsFileName ; }
- const TString GetSDigitsFileName() const { return fSDigitsFileName ; }
const Float_t GetTowerThreshold() const { return fTowerDigitThreshold;}
const Float_t GetPedestal() const { return fPedestal; }
const Float_t GetPinNoise() const { return fPinNoise;}
const Float_t GetPreShochannel() const { return fADCchannelPreSho ; }
const Float_t GetPreShopedestal() const { return fADCpedestalPreSho ; }
- void MixWith(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)
- const Int_t GetDigitsInRun() const { return fDigitsInRun; } ;
void SetTowerThreshold(Float_t EMCThreshold) {fTowerDigitThreshold = EMCThreshold;}
void SetPinNoise(Float_t PinNoise ) {fPinNoise = PinNoise;}
- void SetSDigitsBranch(const char* file) ;
- void SetSplitFile(const TString splitFileName = "EMCAL.Digits.root") ;
+ //General
+ const Int_t GetDigitsInRun() const { return fDigitsInRun; } ;
+ void MixWith(char* HeaderFile) ; // Add another one file to mix
+ void Print(Option_t* option)const ;
-
AliEMCALDigitizer & operator = (const AliEMCALDigitizer & rvalue) {
// assignement operator requested by coding convention but not needed
abort() ;
return *this ;
}
-
private:
Bool_t Init();
void InitParameters() ;
- Bool_t ReadSDigits() ; // Read sdigits for particular events
- void WriteDigits(Int_t evt) ; // Writes Digits for particular event
void PrintDigits(Option_t * option) ;
+ void WriteDigits(Int_t evt) ; // Writes Digits for particular event
Float_t TimeOfNoise(void) ; // Calculate time signal generated by noise
+ //Calculate the time of crossing of the threshold by front edge
Float_t FrontEdgeTime(TClonesArray * ticks) ;
Int_t DigitizeEnergy(Float_t energy, Int_t absId) ;
private:
- TString fHitsFileName ; // file name that contains the original hits
- TString fSDigitsFileName ; // file name that contains the original SDigits
- Bool_t fDefaultInit; //! Says if the task was created by defaut ctor (only parameters are initialized)
- // !!! the following is not necessary, it is in the folder !!!!!!!
- AliEMCALSDigitizer * fSDigitizer ; // ! SDigitizer to extract some sdigitizing parameters
- Int_t fNinputs ; // Number of input files
- Bool_t fInitialized ; //
+ Bool_t fDefaultInit; //! Says if the task was created by defaut ctor (only parameters are initialized)
+ Int_t fDigitsInRun ; //! Total number of digits in one run
- Int_t fDigitsInRun ; //! Total number of digits in one run
Float_t fPedestal ; // Calibration parameters
Float_t fSlope ; // read from SDigitizer
- Float_t fPinNoise ; // Electronics noise in EMC
- Float_t fTowerDigitThreshold ; // Threshold for storing digits in EMC
+ Float_t fPinNoise ; // Electronics noise in EMC
+ Float_t fTowerDigitThreshold ; // Threshold for storing digits in EMC
Float_t fPreShowerDigitThreshold ; // Threshold for Preshower digits
- Float_t fTimeResolution ; // Time resolution of FEE electronics
- Float_t fTimeThreshold ; // Threshold to start timing for given crystall
- Float_t fTimeSignalLength ; // Length of the timing signal
+ Float_t fTimeResolution ; // Time resolution of FEE electronics
+ Float_t fTimeThreshold ; // Threshold to start timing for given crystall
+ Float_t fTimeSignalLength ; // Length of the timing signal
- Float_t fADCchannelTower ; // width of one ADC channel in Tower (GeV)
- Float_t fADCpedestalTower ; //
- Int_t fNADCTower ; // number of channels in Tower ADC
+ Float_t fADCchannelTower ; // width of one ADC channel in Tower (GeV)
+ Float_t fADCpedestalTower ; //
+ Int_t fNADCTower ; // number of channels in Tower ADC
- Float_t fADCchannelPreSho ; // width of one ADC channel in Pre Shower (GeV)
- Float_t fADCpedestalPreSho ; //
+ Float_t fADCchannelPreSho ; // width of one ADC channel in Pre Shower (GeV)
+ Float_t fADCpedestalPreSho ; //
Int_t fNADCPreSho ; // number of channels in Pre Shower ADC
+
+ Bool_t fToSplit ; //! Do we work in the split mode
TFile * fSplitFile ; //! file in which Digits will eventually be stored
ClassDef(AliEMCALDigitizer,1) // description