X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSPulseGenerator.h;h=dcfaadefb7dcc3e7b5b93abae1143d587c8ce81e;hb=46b257757be2350ba3066abf75ae8d3acee64d5d;hp=86a194ce20a069921e99ae2107ebc45b8593cd86;hpb=565550c6bfa21a00d0f9bcff18d53f84d69da2ea;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSPulseGenerator.h b/PHOS/AliPHOSPulseGenerator.h index 86a194ce20a..dcfaadefb7d 100644 --- a/PHOS/AliPHOSPulseGenerator.h +++ b/PHOS/AliPHOSPulseGenerator.h @@ -18,7 +18,6 @@ class AliPHOSPulseGenerator : public TObject { public: AliPHOSPulseGenerator(Double_t a=0, Double_t t0=0); - AliPHOSPulseGenerator(const AliPHOSPulseGenerator & pulse); virtual ~AliPHOSPulseGenerator(); void AddBaseline(Double_t baselineLevel); @@ -32,41 +31,29 @@ public: void SetDigitise (Bool_t flag) {fDigitize = flag;} void SetAmplitude(Double_t a) {fAmplitude = a ; Reset();} void SetTZero (Double_t t0) {fTZero = t0 ; Reset();} + void SetHG2LGRatio(Double_t r=16.){fHG2LGratio = r ;} + void SetTimeStep(Double_t step=100.e-9){fgTimeTrigger=step ;} void Reset(); // Raw Read Out - Double_t GetRawFormatCapa() const { return fgCapa ; } - static Double_t GetRawFormatHighCharge() { return fgHighCharge ; } - static Double_t GetRawFormatHighGain() { return fgHighGain ; } - static Double_t GetRawFormatHighLowGainFactor() { return fgHighLowGainFactor ; } - static Double_t GetRawFormatLowCharge() { return ( fgHighCharge * fgHighLowGainFactor ) ; } - static Double_t GetRawFormatLowGain() { return ( fgHighGain / fgHighLowGainFactor ) ; } Int_t GetRawFormatOrder() const { return fgOrder ; } static Int_t GetRawFormatTimeBins() { return fkTimeBins ; } static Double_t GetRawFormatTimeMax() { return fgTimeTrigger*fkTimeBins ; } Double_t GetRawFormatTimePeak() const { return fgTimePeak ; } Double_t GetRawFormatTimeTrigger() const { return fgTimeTrigger ; } - static Double_t RawResponseFunctionMax(Double_t charge, Double_t gain) ; static Double_t RawResponseFunction (Double_t *x, Double_t *par) ; - static Double_t GeV2ADC(); virtual void Print(Option_t*) const; virtual void Draw (Option_t* opt = "all"); - AliPHOSPulseGenerator& operator = (const AliPHOSPulseGenerator &) { - Fatal("operator =", "not implemented") ; - return *this; - } +private: + AliPHOSPulseGenerator(const AliPHOSPulseGenerator & pulse); + AliPHOSPulseGenerator& operator = (const AliPHOSPulseGenerator &) {return *this;} private: - static Double_t fgCapa ; // capacitor of the preamplifier - static Double_t fgHighCharge ; // high charge (to convert energy to charge) - static Double_t fgHighGain ; // high gain - static Double_t fgHighLowGainFactor ; // high to low gain factor static Int_t fgOrder ; // order of the gamma function - // static const Int_t fkTimeBins = 64 ; // number of sampling bins - static const Int_t fkTimeBins = 1008 ; // number of sampling bins + static const Int_t fkTimeBins = 100 ; // number of sampling bins static Double_t fgTimeMax ; // maximum sampled time static Double_t fgTimePeak ; // peaking time @@ -75,6 +62,7 @@ private: private: Double_t fAmplitude; // signal amplitude in GeV Double_t fTZero; // signal start time in ns + Double_t fHG2LGratio ; // HG/LG ratio for given channel Double_t *fDataHG; // samples array for high gain Double_t *fDataLG; // samples array for low gain Bool_t fDigitize; // true is samples should be rounded to integers