New version of the EMCAL code: bug fixes, new digitisation classes (B.Nilsen)
[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 primary
11 //  in the same segment of scintillator. 
12 //               
13 //*-- Author: Sahal Yacoob (LBL /UCT) 
14 // Based on AliPHOSHit
15 #include <TLorentzVector.h>
16 // --- AliRoot header files ---
17 #include "AliHit.h"
18
19 //class ostream;
20
21 class AliEMCALHit : public AliHit {
22     friend ostream& operator << (ostream&,AliEMCALHit&);
23  public:
24     AliEMCALHit(); // default ctor
25     AliEMCALHit(const AliEMCALHit & hit);
26     AliEMCALHit(Int_t shunt, Int_t primary, Int_t tracknumber, Int_t iparent, Float_t ienergy, Int_t id,
27                 Float_t *hits,Float_t *p);
28     virtual ~AliEMCALHit(void) {}// dtor
29     //returns the energy loss for this hit
30     Float_t GetEnergy(void) const{return fELOS;}
31     // return the identificator of this his
32     Int_t   GetId(void) const { return fId;}
33     // returns the primary particle id at the origine of this hit 
34     Int_t   GetPrimary(void) const{return fPrimary;}
35     // returns the energy/momentum LorentzVector of the enetering particle.
36     Int_t   GetIparent(void) const{return fIparent;}
37     Float_t   GetIenergy(void) const{return fIenergy;}
38
39     Float_t GetPx(void) const{return fPx;}
40     Float_t GetPy(void) const{return fPy;}
41     Float_t GetPz(void) const{return fPz;}
42     Float_t GetPe(void) const{return fPe;}
43     Bool_t operator == (AliEMCALHit const &rValue) const;
44     AliEMCALHit operator + (const AliEMCALHit& rValue);
45
46  private:
47     Int_t          fId;        // Absolute Id number EMCAL segment
48     Float_t        fELOS;      // Energy deposited
49     Int_t          fPrimary;   // Primary particles at the origine of the hit
50     Float_t        fPx;      // Primary partical enetrence momentum/energy
51     Float_t        fPy;      // Primary partical enetrence momentum/energy
52     Float_t        fPz;      // Primary partical enetrence momentum/energy
53     Float_t        fPe;      // Primary partical enetrence momentum/energy
54     Int_t          fIparent;   // Parent particle that enterred emcal
55     Float_t        fIenergy;   // Initial energy of parent particle that enterred the emcal
56     ClassDef(AliEMCALHit,2)  // Hit for EMCAL
57
58 };
59 #endif // ALIEMCALHIT_H