3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //_________________________________________________________________________
11 // 3 identifiers for the primary particle(s) at the origine of the digit
12 // The digits are made in FinishEvent() by summing all the hits in a single PHOS crystal or PPSD gas cell
13 // It would be nice to replace the 3 identifiers by an array, but, because digits are kept in a TClonesQArray,
14 // it is not possible to stream such an array... (beyond my understqnding!)
16 //*-- Author: Laurent Aphecetche & Yves Schutz (SUBATECH)
18 // --- ROOT system ---
20 //#include "TObject.h"
22 // --- Standard library ---
24 // --- AliRoot header files ---
26 #include "AliDigitNew.h"
28 class AliPHOSDigit : public AliDigitNew {
30 friend ostream& operator << ( ostream& , const AliPHOSDigit&) ;
35 AliPHOSDigit(Int_t primary, Int_t id, Int_t DigEnergy, Float_t Time, Int_t index = -1) ;
36 AliPHOSDigit(const AliPHOSDigit & digit) ;
37 virtual ~AliPHOSDigit() ;
39 Bool_t operator==(const AliPHOSDigit &rValue) const;
40 AliPHOSDigit& operator+(AliPHOSDigit const &rValue) ;
41 AliPHOSDigit& operator*(Float_t factor) ;
42 // AliPHOSDigit& operator=(const AliPHOSDigit) {
43 // Fatal("operator = ", "not implemented") ; return *this ; }
44 Int_t Compare(const TObject * obj) const ;
45 Int_t GetNprimary() const { return fNprimary ; }
46 Int_t GetPrimary(Int_t index) const ;
47 Float_t GetTime(void) const {return fTime ;}
48 Bool_t IsSortable() const { return kTRUE ; }
50 void SetAmp(Int_t Amp) { fAmp=Amp ; }
51 void SetTime(Float_t Time) {fTime = Time ;}
52 void ShiftPrimary(Int_t shift); // shift to separate different TreeK in merging
56 Int_t fNprimary ; // Number of primaries
57 Int_t * fPrimary ; //[fNprimary] Array of primaries
58 Float_t fTime ; // Calculcated time
60 ClassDef(AliPHOSDigit,2) // Digit in PHOS
64 #endif // ALIPHOSDIGIT_H