]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALHit.h
updates/fixes from Rachid
[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
20 class AliEMCALHit : public AliHit {
21     
22   friend ostream& operator << (ostream&,AliEMCALHit&);
23  
24 public:
25   AliEMCALHit(); // default ctor
26   AliEMCALHit(const AliEMCALHit & hit);
27   AliEMCALHit& operator = (const AliEMCALHit& source) ;
28   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);
29   virtual ~AliEMCALHit(void) {}// dtor
30   //returns the energy loss for this hit
31   Float_t GetEnergy(void) const{return fELOS;}
32   // return the identificator of this his
33   Int_t   GetId(void) const { return fId;}
34   // returns the primary particle id at the origine of this hit 
35   Int_t   GetIparent(void) const{return fIparent;}
36   Float_t GetIenergy(void) const{return fIenergy;}
37   Int_t   GetPrimary(void) const{return fPrimary;}
38   // returns the energy/momentum LorentzVector of the enetering particle.
39   Float_t GetTime(void)     const {
40     // returns the time of the first energy deposition
41     return fTime ;}
42
43   Float_t GetPx(void) const{return fPx;}
44   Float_t GetPy(void) const{return fPy;}
45   Float_t GetPz(void) const{return fPz;}
46   Float_t GetPe(void) const{return fPe;}
47
48   void   SetIparent(Int_t iparent) {fIparent=iparent;}
49   void   SetPrimary(Int_t primary)  {fPrimary=primary;}
50
51   Bool_t operator == (AliEMCALHit const &rValue) const;
52   AliEMCALHit operator + (const AliEMCALHit& rValue);
53   
54  private:
55
56   Int_t          fId;        // Absolute Id number EMCAL segment
57   Float_t        fELOS;      // Energy deposited
58   Int_t          fPrimary;   // Primary particles at the origin of the hit
59   Float_t        fPx;      // Primary particle entrance momentum/energy
60   Float_t        fPy;      // Primary particle entrance momentum/energy
61   Float_t        fPz;      // Primary particle entrance momentum/energy
62   Float_t        fPe;      // Primary particle entrance momentum/energy
63   Int_t          fIparent;   // Parent particle that entered emcal
64   Float_t        fIenergy;   // Initial energy of parent particle that enterred the emcal
65   Float_t        fTime ;      // Time of the energy deposition
66   
67   ClassDef(AliEMCALHit,3)  // Hit for EMCAL
68     
69     };
70
71 #endif // ALIEMCALHIT_H