Line data Source code
1 : #ifndef ALIZDCHIT_H
2 : #define ALIZDCHIT_H
3 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : ////////////////////////////////////////////////
7 : // Hits classes for set ZDC //
8 : ////////////////////////////////////////////////
9 :
10 : #include "AliHit.h"
11 :
12 : class AliZDCHit : public AliHit {
13 :
14 : public:
15 : AliZDCHit();
16 : AliZDCHit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits);
17 : AliZDCHit(const AliZDCHit &oldhit);
18 : AliZDCHit& operator= (const AliZDCHit &hit);
19 71138 : virtual ~AliZDCHit() {}
20 :
21 : // Getters
22 107108 : virtual Int_t GetVolume(Int_t i) const {return fVolume[i];}
23 35576 : virtual Int_t GetPDGCode() const {return fPDGCode;}
24 35576 : virtual Int_t GetMotherPDGCode() const {return fMotherPDGCode;}
25 35576 : virtual Float_t GetPrimKinEn() const {return fPrimKinEn;}
26 35576 : virtual Float_t GetXImpact() const {return fXImpact;}
27 35576 : virtual Float_t GetYImpact() const {return fYImpact;}
28 35576 : virtual Float_t GetSFlag() const {return fSFlag;}
29 53352 : virtual Float_t GetLightPMQ() const {return fLightPMQ;}
30 53352 : virtual Float_t GetLightPMC() const {return fLightPMC;}
31 53328 : virtual Float_t GetEnergy() const {return fEnergy;}
32 35600 : virtual Float_t GetTrackTOF() const {return fTrackTOF;}
33 35576 : virtual Float_t GetTrackEta() const {return fTrackEta;}
34 :
35 : // Setters
36 0 : virtual void SetVolume(Int_t i, Int_t val) {fVolume[i]=val;}
37 17776 : virtual void SetPDGCode(Int_t code) {fPDGCode=code;}
38 17776 : virtual void SetMotherPDGCode(Int_t code) {fMotherPDGCode=code;}
39 0 : virtual void SetLightPMQ(Float_t value) {fLightPMQ=value;}
40 0 : virtual void SetLightPMC(Float_t value) {fLightPMC=value;}
41 17792 : virtual void SetSFlag(Float_t value) {fSFlag=value;}
42 17776 : virtual void SetPrimKinEn(Float_t value) {fPrimKinEn=value;}
43 17776 : virtual void SetXImpact(Float_t value) {fXImpact=value;}
44 17776 : virtual void SetYImpact(Float_t value) {fYImpact=value;}
45 17776 : virtual void SetTrackTOF(Float_t value) {fTrackTOF=value;}
46 17776 : virtual void SetTrackEta(Float_t value) {fTrackEta=value;}
47 :
48 : // Operators
49 : Int_t operator == (AliZDCHit &quad){
50 : Int_t i;
51 17922 : if(fTrack!=quad.GetTrack()) return 0;
52 71611 : for(i=0; i<2; i++) if(fVolume[i]!=quad.GetVolume(i)) return 0;
53 8884 : return 1;
54 8961 : }
55 :
56 : virtual AliZDCHit operator + (AliZDCHit &quad){
57 17768 : fLightPMQ += quad.GetLightPMQ();
58 8884 : fLightPMC += quad.GetLightPMC();
59 8884 : fEnergy += quad.GetEnergy();
60 8884 : return *this;
61 : }
62 :
63 : // Print method
64 : void Print(Option_t *) const;
65 :
66 : protected:
67 : // Data members
68 : Int_t fVolume[2]; //Array of volumes
69 : Float_t fPrimKinEn; //Primary particle energy
70 : Float_t fXImpact; //x-coord. of the impact point over the ZDC
71 : Float_t fYImpact; //y-coord. of the impact point over the ZDC
72 : Float_t fSFlag; //Secondary flag
73 : Float_t fLightPMQ; //Cerenkov light produced in each quadrant
74 : Float_t fLightPMC; //Cerenkov light seen by the common PM
75 : Float_t fEnergy; //Total energy deposited in eV
76 : Int_t fPDGCode; //PDG code of particle in the ZDC
77 : Int_t fMotherPDGCode; //PDG code of particle in the ZDC
78 : Float_t fTrackTOF; //Track time in ns
79 : Float_t fTrackEta; //Track eta
80 :
81 14 : ClassDef(AliZDCHit,5) // Hits for the Zero Degree Calorimeters
82 : };
83 :
84 : #endif
|