SND@LHC Software
Loading...
Searching...
No Matches
hcalModule.h
Go to the documentation of this file.
1
7#ifndef HCALMODULE_H
8#define HCALMODULE_H
9
10#include "TObject.h"
11
12#include <list>
13#include <map>
14#include <algorithm>
15
16class hcalModule : public TObject
17{
18public:
19 hcalModule(Int_t modulenumber, Float_t x1=0, Float_t y1=0, Float_t x2=0, Float_t y2=0)
20 : TObject(), fNumber(modulenumber), fX1(x1), fY1(y1), fX2(x2),
21 fY2(y2), fEnergy(0), fEnergy2(0), fADC(-1111), fNeighbors()
22 {};
23
24 inline Bool_t IsInside(Float_t x, Float_t y) {return x>GetX1()&&x<GetX2()&&y>GetY1()&&y<GetY2();}
25 //getters
26 inline Float_t X1() const {return fX1;}
27 inline Float_t Y1() const {return fY1;}
28 inline Float_t X2() const {return fX2;}
29 inline Float_t Y2() const {return fY2;}
30 inline Float_t GetX1() const {return fX1;}
31 inline Float_t GetY1() const {return fY1;}
32 inline Float_t GetX2() const {return fX2;}
33 inline Float_t GetY2() const {return fY2;}
34 inline Float_t GetCenterX() const {return (fX1+fX2)/2.0;}
35 inline Float_t GetCenterY() const {return (fY1+fY2)/2.0;}
36 inline Short_t ADC() const {return fADC;}
37 inline Short_t GetADC() const {return fADC;}
38
39 inline Int_t GetNumber() const {return fNumber;}
40
41 inline Float_t GetEnergy() const {return fEnergy;}
42 inline Float_t GetEnergy2() const {return fEnergy2;}
43
44 inline void GetNeighborsList(std::list<hcalModule*> &neib) const
45 {
46 neib=fNeighbors;
47 }
48 inline void SetNeighborsList(std::list<hcalModule*> &neib)
49 {
50 fNeighbors=neib;
51 }
52 inline void SetEnergy(Float_t energy) {fEnergy=energy;}
53 inline void SetEnergy2(Float_t energy) {fEnergy2=energy;}
54 inline void SetADC(Short_t adc) {fADC=adc;}
56 void ResetEnergyFast();
57 inline void AddEnergy(Float_t energy) {fEnergy+=energy;}
58 inline void AddEnergy2(Float_t energy) {fEnergy2+=energy;}
59
61 void GetClusterEnergy(Float_t& EcalEnergy);
62
63 inline void SetCoord(Float_t x1, Float_t y1, Float_t x2, Float_t y2)
64 { fX1=x1; fY1=y1; fX2=x2; fY2=y2; }
66 Int_t CountNeighbors(const std::list<hcalModule*>& lst) const;
67private:
69 Int_t fNumber;
71 Float_t fX1;
73 Float_t fY1;
75 Float_t fX2;
77 Float_t fY2;
79 Float_t fEnergy;
81 Float_t fEnergy2;
83 Short_t fADC;
84
85
87 std::list<hcalModule*> fNeighbors;
88
90};
91
93{
94 fEnergy=0.0;
95 fEnergy2=0.0;
96 fADC=-1111;
97}
98
99#endif
void SetADC(Short_t adc)
Definition hcalModule.h:54
Float_t GetEnergy() const
Definition hcalModule.h:41
Float_t GetCenterY() const
Definition hcalModule.h:35
Float_t Y2() const
Definition hcalModule.h:29
Int_t fNumber
Definition hcalModule.h:69
void SetCoord(Float_t x1, Float_t y1, Float_t x2, Float_t y2)
Definition hcalModule.h:63
Float_t X2() const
Definition hcalModule.h:28
Short_t ADC() const
Definition hcalModule.h:36
void SetEnergy(Float_t energy)
Definition hcalModule.h:52
Int_t GetNumber() const
Definition hcalModule.h:39
Float_t fEnergy
Definition hcalModule.h:79
Float_t fY2
Definition hcalModule.h:77
void GetClusterEnergy(Float_t &EcalEnergy)
Float_t fX2
Definition hcalModule.h:75
void AddEnergy2(Float_t energy)
Definition hcalModule.h:58
void GetNeighborsList(std::list< hcalModule * > &neib) const
Definition hcalModule.h:44
Float_t GetEnergy2() const
Definition hcalModule.h:42
Float_t fX1
Definition hcalModule.h:71
Float_t X1() const
Definition hcalModule.h:26
Float_t fY1
Definition hcalModule.h:73
Float_t Y1() const
Definition hcalModule.h:27
Float_t GetX2() const
Definition hcalModule.h:32
void SetEnergy2(Float_t energy)
Definition hcalModule.h:53
void SetNeighborsList(std::list< hcalModule * > &neib)
Definition hcalModule.h:48
Bool_t IsInside(Float_t x, Float_t y)
Definition hcalModule.h:24
Int_t CountNeighbors(const std::list< hcalModule * > &lst) const
Float_t fEnergy2
Definition hcalModule.h:81
ClassDef(hcalModule, 1)
Float_t GetY2() const
Definition hcalModule.h:33
std::list< hcalModule * > fNeighbors
Definition hcalModule.h:87
void AddEnergy(Float_t energy)
Definition hcalModule.h:57
Float_t GetY1() const
Definition hcalModule.h:31
void ResetEnergyFast()
Definition hcalModule.h:92
Short_t GetADC() const
Definition hcalModule.h:37
Float_t GetCenterX() const
Definition hcalModule.h:34
hcalModule(Int_t modulenumber, Float_t x1=0, Float_t y1=0, Float_t x2=0, Float_t y2=0)
Definition hcalModule.h:19
Short_t fADC
Definition hcalModule.h:83
Float_t GetX1() const
Definition hcalModule.h:30