]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSDigit.h
Cosmetics
[u/mrichter/AliRoot.git] / PHOS / AliPHOSDigit.h
index e48ff1e4d44508cc15af0b3b7cf3ce201171c48c..491918abec195a980fe8958a82010d4d10803ea6 100644 (file)
@@ -5,13 +5,15 @@
 
 /* $Id$ */
 
-////////////////////////////////////////////////
-//  The digit  class: a list of abs Id, energy//
-//  Version SUBATECH                          //
-//  Author Laurent Aphecetche     SUBATECH    //
-//      comment: added sortable YS            //  
-//                                            //
-////////////////////////////////////////////////
+//_________________________________________________________________________
+//  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 is not possible to stream such an array... (beyond my understqnding!)
+//
+//*-- Author: Laurent Aphecetche & Yves Schutz (SUBATECH)
 
 // --- ROOT system ---
 
 #include "AliDigitNew.h"
 
 class AliPHOSDigit : public AliDigitNew {
+
+  friend ostream& operator << ( ostream& , const AliPHOSDigit&) ;
+
+ public:
   
-public:
   AliPHOSDigit() ;
-  AliPHOSDigit(Int_t primary, Int_t id, Int_t DigEnergy) ;
+  AliPHOSDigit(Int_t primary, Int_t id, Int_t DigEnergy, Float_t Time, Int_t index = -1) ;
   AliPHOSDigit(const AliPHOSDigit & digit) ;
-  virtual ~AliPHOSDigit() ;  
+  virtual ~AliPHOSDigit() ;
 
-  Bool_t operator==(AliPHOSDigit const &rValue) const;
+  Bool_t operator==(const AliPHOSDigit &rValue) const;
   AliPHOSDigit& operator+(AliPHOSDigit const &rValue) ;
-  
-  friend ostream& operator << ( ostream& , const AliPHOSDigit&) ;
-  
-  Int_t   Compare(TObject * obj) ;  
-  Int_t   GetNprimary() const { return fNprimary ; }
-  Int_t * GetPrimary() const { return fPrimary ; }
+    
+  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 ; 
-  Bool_t  IsSortable() const { return kTRUE ; }
-  void    SetAmp(Int_t Amp) { fAmp=Amp ; } 
-  void    SetPrimary(Int_t index, Int_t value) ; 
+  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
 
-private:
+ private:
 
-  Int_t * fPrimary ;         //! Array of primary particles which contribute to the digit 
-  Int_t fPrimary1 ;          // first primary (because I do not know how to stream *fPrimary) 
-  Int_t fPrimary2 ;          // second primary (because I do not know how to stream *fPrimary) 
-  Int_t fPrimary3 ;          // third primary (because I do not know how to stream *fPrimary) 
-  Int_t fNprimary ;          // Number of primaries
-  
-  ClassDef(AliPHOSDigit,1)   // Digit in PHOS, version 1 
+  Int_t fNprimary ;         // Number of primaries
+  Int_t fNMaxPrimary ;      //! Max Number of primaries
+  Int_t fPrimary[5] ;       // Array of primaries      
+  Float_t fTime ;           // Calculcated time 
+    
+  ClassDef(AliPHOSDigit,1)   // Digit in PHOS 
 
 } ;