X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSDigit.h;h=37c88a2f67fd9ee23f0769f14d679786a1a0ac14;hb=24361429093495a68d73f066a44755d950cb5dfe;hp=9df7e2df34de44b54f8e35912b8eac40cc636bae;hpb=9286201303faf22df30f835f6aa39b6517513db8;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSDigit.h b/PHOS/AliPHOSDigit.h index 9df7e2df34d..37c88a2f67f 100644 --- a/PHOS/AliPHOSDigit.h +++ b/PHOS/AliPHOSDigit.h @@ -5,17 +5,30 @@ /* $Id$ */ -//////////////////////////////////////////////// -// The digit class: a list of abs Id, energy// -// Version SUBATECH // -// Author Laurent Aphecetche SUBATECH // -// comment: added sortable YS // -// // -//////////////////////////////////////////////// +/* 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 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 --- @@ -24,28 +37,49 @@ #include "AliDigitNew.h" class AliPHOSDigit : public AliDigitNew { - -public: - - AliPHOSDigit() {} - AliPHOSDigit(Int_t id, Int_t DigEnergy) ; - virtual ~AliPHOSDigit() {} - Bool_t operator==(AliPHOSDigit const &rValue) const; - AliPHOSDigit& operator+(AliPHOSDigit const &rValue) ; - friend ostream& operator << ( ostream& , const AliPHOSDigit&) ; + + public: - Int_t Compare(TObject * obj) ; - Int_t GetId() { return fId ; } - Int_t GetAmp() { return fAmp ; } - Bool_t IsSortable() const{ return kTRUE ; } - -private: - Int_t fId ; // absolute id - Int_t fAmp ; // digitalized energy - - ClassDef(AliPHOSDigit,1) // Digit in PHOS, version 1 + 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) ; + 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 ;} + 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 ShiftPrimary(Int_t shift); // shift to separate different TreeK in merging + + private: + + Int_t fNprimary ; // Number of primaries + Int_t * fPrimary ; //[fNprimary] Array of primaries + Float_t fEnergy ; // Deposited energy in GeV + Float_t fTime ; // Calculcated time + Float_t fTimeR ; // Earliest time: to be used by Digits2Raw + + ClassDef(AliPHOSDigit,4) // Digit in PHOS } ;