Compatibility with the ROOT trunk
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALHit.h
1 #ifndef ALIEMCALHIT_H
2 #define ALIEMCALHIT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: */
7
8 //_________________________________________________________________________
9 //  Hits class for EMCAL    
10 //  A hit in EMCAL is the sum of all hits from the same Entering particle 
11 //  in the same segment of scintillator. 
12 //               
13 //*-- Author: Sahal Yacoob (LBL /UCT) 
14 // Based on AliPHOSHit
15
16 // --- AliRoot header files ---
17 #include "AliHit.h"
18
19 using std::ostream;
20
21 class AliEMCALHit : public AliHit {
22     
23   friend ostream& operator << (ostream&,AliEMCALHit&);
24  
25 public:
26   AliEMCALHit(); // default ctor
27   AliEMCALHit(const AliEMCALHit & hit);
28   AliEMCALHit& operator = (const AliEMCALHit& source) ;
29   AliEMCALHit(Int_t shunt, Int_t primary, Int_t tracknumber, Int_t iparent, Float_t ienergy, Int_t id, Float_t *hits,Float_t *p);
30   virtual ~AliEMCALHit(void) {}// dtor
31   //returns the energy loss for this hit
32   Float_t GetEnergy(void) const{return fELOS;}
33   // return the identificator of this his
34   Int_t   GetId(void) const { return fId;}
35   // returns the primary particle id at the origine of this hit 
36   Int_t   GetIparent(void) const{return fIparent;}
37   Float_t GetIenergy(void) const{return fIenergy;}
38   Int_t   GetPrimary(void) const{return fPrimary;}
39   // returns the energy/momentum LorentzVector of the enetering particle.
40   Float_t GetTime(void)     const {
41     // returns the time of the first energy deposition
42     return fTime ;}
43
44   Float_t GetPx(void) const{return fPx;}
45   Float_t GetPy(void) const{return fPy;}
46   Float_t GetPz(void) const{return fPz;}
47   Float_t GetPe(void) const{return fPe;}
48
49   void   SetIparent(Int_t iparent) {fIparent=iparent;}
50   void   SetPrimary(Int_t primary)  {fPrimary=primary;}
51
52   Bool_t operator == (AliEMCALHit const &rValue) const;
53   AliEMCALHit operator + (const AliEMCALHit& rValue);
54   
55  private:
56
57   Int_t          fId;        // Absolute Id number EMCAL segment
58   Float_t        fELOS;      // Energy deposited
59   Int_t          fPrimary;   // Primary particles at the origin of the hit
60   Float_t        fPx;      // Primary particle entrance momentum/energy
61   Float_t        fPy;      // Primary particle entrance momentum/energy
62   Float_t        fPz;      // Primary particle entrance momentum/energy
63   Float_t        fPe;      // Primary particle entrance momentum/energy
64   Int_t          fIparent;   // Parent particle that entered emcal
65   Float_t        fIenergy;   // Initial energy of parent particle that enterred the emcal
66   Float_t        fTime ;      // Time of the energy deposition
67   
68   ClassDef(AliEMCALHit,3)  // Hit for EMCAL
69     
70     };
71
72 #endif // ALIEMCALHIT_H