X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSDigitizer.h;h=bf5f34eb4b4063ab851a1c006c5c1e4ad0359c8f;hb=2f4c86d72d2bdf5b4e64933e6b6c075b89228e45;hp=42ffe6d6b9d184ae99442afb89f1962a84aa1fff;hpb=fc7e2f436398e9b9b8875125b25f6cb4f7e97591;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSDigitizer.h b/PHOS/AliPHOSDigitizer.h index 42ffe6d6b9d..bf5f34eb4b4 100644 --- a/PHOS/AliPHOSDigitizer.h +++ b/PHOS/AliPHOSDigitizer.h @@ -5,6 +5,26 @@ /* $Id$ */ +/* History of cvs commits: + * + * $Log$ + * Revision 1.37 2007/10/10 09:05:10 schutz + * Changing name QualAss to QA + * + * Revision 1.36 2007/09/30 17:08:20 schutz + * Introducing the notion of QA data acquisition cycle (needed by online) + * + * Revision 1.35 2007/08/07 14:12:03 kharlov + * Quality assurance added (Yves Schutz) + * + * Revision 1.34 2006/04/29 20:25:30 hristov + * Decalibration is implemented (Yu.Kharlov) + * + * Revision 1.33 2005/05/28 14:19:04 schutz + * Compilation warnings fixed by T.P. + * + */ + //_________________________________________________________________________ // Task Class for making SDigits in PHOS // Class performs digitization of Summable digits (in the PHOS case this is just @@ -23,14 +43,15 @@ class TClonesArray ; // --- AliRoot header files --- #include "AliDigitizer.h" -class AliPHOSSDigitizer ; +#include "AliConfig.h" class AliRunDigitizer ; +class AliPHOSCalibData ; class AliPHOSDigitizer: public AliDigitizer { public: AliPHOSDigitizer() ; // ctor - AliPHOSDigitizer(TString alirunFileNameFile, TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ; + AliPHOSDigitizer(TString alirunFileNameFile, TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ; AliPHOSDigitizer(const AliPHOSDigitizer & dtizer) ; AliPHOSDigitizer(AliRunDigitizer * manager) ; virtual ~AliPHOSDigitizer() ; @@ -38,40 +59,12 @@ public: void Digitize(Int_t event) ; // Make Digits from SDigits void Exec(Option_t *option); // Supervising method - //CPV parameters - Float_t GetCPVNoise() const { return fCPVNoise ;} - Float_t GetCPVThreshold() const { return fCPVDigitThreshold ;} - Float_t GetCPVchannel() const { return fADCchanelCpv; } - Float_t GetCPVpedestal() const { return fADCpedestalCpv; } - - void SetCPVNoise(Float_t CPVNoise) {fCPVNoise = CPVNoise;} - void SetCPVThreshold(Float_t CPVThreshold) {fCPVDigitThreshold= CPVThreshold;} - void SetNCPVchannels(Int_t n) { fNADCcpv = n; } - void SetCPVchannel(Float_t width) { fADCchanelCpv = width; } - void SetCPVpedestal(Float_t ped) { fADCpedestalCpv = ped; } - - - //EMC parameters - Float_t GetEMCThreshold() const { return fEMCDigitThreshold;} - Float_t GetEMCchannel() const { return fADCchanelEmc; } - Float_t GetEMCpedestal() const { return fADCpedestalEmc; } - Float_t GetPinNoise() const { return fPinNoise;} - Float_t GetTimeResolution() const { return fTimeResolution ; } - - void SetEMCThreshold(Float_t EMCThreshold) {fEMCDigitThreshold = EMCThreshold;} - void SetPinNoise(Float_t PinNoise ) {fPinNoise = PinNoise;} - void SetNEMCchannels(Int_t n) { fNADCemc = n; } - void SetEMCchannel(Float_t width) { fADCchanelEmc = width; } - void SetEMCpedestal(Float_t ped) { fADCpedestalEmc = ped ; } - void SetEventFolderName(TString name) { fEventFolderName = name ; } - void SetTimeResolution(Float_t res){ fTimeResolution = res ; } void SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; } //General Int_t GetDigitsInRun() const { return fDigitsInRun ;} - void MixWith(TString alirunFileName, - TString eventFolderName = AliConfig::fgkDefaultEventFolderName) ; // Add another one file to mix - void Print()const ; + + void Print(const Option_t * = "")const ; AliPHOSDigitizer & operator = (const AliPHOSDigitizer & /*rvalue*/) { // assignement operator requested by coding convention but not needed @@ -79,6 +72,7 @@ public: return *this ; } + private: virtual Bool_t Init() ; @@ -88,10 +82,13 @@ private: void WriteDigits() ; // Writes Digits for the current event Float_t TimeOfNoise(void) const; // Calculate time signal generated by noise + Float_t TimeResolution(Float_t energy) ; //TOF resolution + //Calculate the time of crossing of the threshold by front edge - Float_t FrontEdgeTime(TClonesArray * ticks) const ; + // Float_t FrontEdgeTime(TClonesArray * ticks) const ; //Calculate digitized signal with gived ADC parameters - Int_t DigitizeEnergy(Float_t energy, Int_t absId) ; + void DecalibrateEMC(AliPHOSDigit * digit); + Int_t DigitizeCPV(Float_t charge, Int_t absId) ; private: @@ -105,30 +102,14 @@ private: Int_t fEmcCrystals ; // Number of EMC crystalls in the given geometry - Float_t fPinNoise ; // Electronics noise in EMC - Float_t fEMCDigitThreshold ; // Threshold for storing digits in EMC - - Float_t fCPVNoise ; // Noise in CPV - Float_t fCPVDigitThreshold ; // Threshold for storing digits in CPV - - - 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 fADCchanelEmc ; // width of one ADC channel in GeV - Float_t fADCpedestalEmc ; // value of the EMC ADC pedestal - Int_t fNADCemc ; // number of channels in EMC ADC - - Float_t fADCchanelCpv ; // width of one ADC channel in CPV units - Float_t fADCpedestalCpv ; // value of the CPV ADC pedestal in CPV units - Int_t fNADCcpv ; // number of channels in CPV ADC - TString fEventFolderName; // skowron: name of EFN to read data from in stand alone mode - Int_t fFirstEvent; // first event to process - Int_t fLastEvent; // last event to process - - ClassDef(AliPHOSDigitizer,3) // description + Int_t fFirstEvent; // first event to process + Int_t fLastEvent; // last event to process + AliPHOSCalibData* fcdb; //! Calibration parameters DB + + Int_t fEventCounter ; //! counts the events processed + + ClassDef(AliPHOSDigitizer,4) // description };