X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSDigit.h;h=63d97a5d069d1b952d7e74505a0dbe66fa673867;hb=3c9441f123110b61cc01fdd191446e7ff63f2b39;hp=576ad0b80434c5539d5de7301e49f907ff83821e;hpb=36641f9d01f4b59b36a44c7b3b573819bbcb8750;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSDigit.h b/PHOS/AliPHOSDigit.h index 576ad0b8043..63d97a5d069 100644 --- a/PHOS/AliPHOSDigit.h +++ b/PHOS/AliPHOSDigit.h @@ -5,19 +5,30 @@ /* $Id$ */ +/* History of cvs commits: + * + * $Log$ + * Revision 1.34 2006/04/22 10:30:17 hristov + * Add fEnergy to AliPHOSDigit and operate with EMC amplitude in energy units (Yu.Kharlov) + * + * Revision 1.33 2005/05/28 14:19:04 schutz + * Compilation warnings fixed by T.P. + * + */ + //_________________________________________________________________________ // PHOS digit: Id // energy // 3 identifiers for the primary particle(s) at the origine of the digit // The digits are made in FinishEvent() by summing all the hits in a single PHOS crystal or PPSD gas cell -// It would be nice to replace the 3 identifiers by an array, but, because digits are kept in a TClonesQArray, +// It would be nice to replace the 3 identifiers by an array, but, because digits are kept in a TClonesArray, // it is not possible to stream such an array... (beyond my understqnding!) // //*-- Author: Laurent Aphecetche & Yves Schutz (SUBATECH) // --- ROOT system --- -#include "TObject.h" +//#include "TObject.h" // --- Standard library --- @@ -33,37 +44,52 @@ class AliPHOSDigit : public AliDigitNew { AliPHOSDigit() ; AliPHOSDigit(Int_t primary, Int_t id, Int_t DigEnergy, Float_t Time, Int_t index = -1) ; + AliPHOSDigit(Int_t primary, Int_t id, Float_t energy , Float_t Time, Int_t index = -1) ; AliPHOSDigit(const AliPHOSDigit & digit) ; virtual ~AliPHOSDigit() ; Bool_t operator==(const AliPHOSDigit &rValue) const; - AliPHOSDigit& operator+(AliPHOSDigit const &rValue) ; - - Int_t Compare(const TObject * obj) const ; - Int_t GetNprimary() const { - // returns the number of primaries - return fNprimary ; } - Int_t GetPrimary(Int_t index) const ; - Float_t GetTime(void) const {return fTime ;} - Bool_t IsSortable() const { - // says that AliPHOSDigits are sortable (needed for Sort method - return kTRUE ; } - void Print(Option_t *option) const; - void SetAmp(Int_t Amp) { - // sets the amplitude data member - fAmp=Amp ; } - void SetTime(Float_t Time) {fTime = Time ;} - void ShiftPrimary(Int_t shift); // shift to separate different TreeK in merging + + AliPHOSDigit& operator += (AliPHOSDigit const &rValue) ; + AliPHOSDigit& operator *= (Float_t factor) ; + +public: + + AliPHOSDigit& operator=(const AliPHOSDigit) { + Fatal("operator = ", "not implemented") ; return *this ; } + Int_t Compare(const TObject * obj) const ; + Int_t GetNprimary() const { return fNprimary ; } + Int_t GetPrimary(Int_t index) const ; + Float_t GetEnergy(void) const {return fEnergy ;} + Float_t GetTime(void) const {return fTime ;} + Float_t GetTimeR(void) const {return fTimeR ;} + Int_t GetNSamplesHG() const {return fNSamplesHG;} + Int_t GetNSamplesLG() const {return fNSamplesLG;} + UShort_t *GetSamplesHG() const {return fSamplesHG;} + UShort_t *GetSamplesLG() const {return fSamplesLG;} + Bool_t IsSortable() const { return kTRUE ; } + void Print(const Option_t * = "") const; + void SetAmp(Int_t Amp) {fAmp = Amp ;} + void SetEnergy(Float_t E) {fEnergy= E ;} + void SetTime(Float_t time) {fTime = time ;} + void SetTimeR(Float_t time) {fTimeR = time ;} + void SetALTROSamplesHG(Int_t nSamplesHG, Int_t *samplesHG); + void SetALTROSamplesLG(Int_t nSamplesLG, Int_t *samplesLG); + void ShiftPrimary(Int_t shift); // shift to separate different TreeK in merging private: - Int_t fNprimary ; // Number of primaries - Int_t fNMaxPrimary ; //! Max Number of primaries - Int_t fPrimary[5] ; // Array of primaries - Int_t fShiftOffset ; // offset to be applied to the primary article numbering in case of event mixing - Float_t fTime ; // Calculcated time - - ClassDef(AliPHOSDigit,1) // Digit in PHOS + Int_t fNprimary ; // Number of primaries + Int_t * fPrimary ; //[fNprimary] Array of primaries + Float_t fEnergy ; // Deposited energy in ADC counts + Float_t fTime ; // Calculcated time + Float_t fTimeR ; // Earliest time: to be used by Digits2Raw + Int_t fNSamplesHG; // Number of high-gain ALTRO samples + Int_t fNSamplesLG; // Number of low-gain ALTRO samples + UShort_t *fSamplesHG; //[fNSamplesHG] Array of high-gain ALTRO samples + UShort_t *fSamplesLG; //[fNSamplesLG] Array of low-gain ALTRO samples + + ClassDef(AliPHOSDigit,6) // Digit in PHOS } ;