1 | // ESAF : Euso Simulation and Analysis Framework |
---|
2 | // $Id: EusoCluster.hh 2717 2006-06-07 07:53:42Z pesce $ |
---|
3 | // R. Pesce created Jan, 23 2004 |
---|
4 | |
---|
5 | #ifndef __EUSOCLUSTER_HH_ |
---|
6 | #define __EUSOCLUSTER_HH_ |
---|
7 | |
---|
8 | #include <vector> |
---|
9 | #include <map> |
---|
10 | #include "euso.hh" |
---|
11 | |
---|
12 | class EusoCluster { |
---|
13 | public: |
---|
14 | // ctor |
---|
15 | EusoCluster(); |
---|
16 | |
---|
17 | // dtor |
---|
18 | virtual ~EusoCluster(); |
---|
19 | |
---|
20 | // add a point in cluster |
---|
21 | void AddPoint( Int_t id ); |
---|
22 | |
---|
23 | // getters |
---|
24 | inline Int_t GetNumPoints() const { return fNumPoints; } |
---|
25 | inline Double_t GetThetaMin() const { return fThetaMin; } |
---|
26 | inline Double_t GetThetaMax() const { return fThetaMax; } |
---|
27 | inline Double_t GetPhiMin() const { return fPhiMin; } |
---|
28 | inline Double_t GetPhiMax() const { return fPhiMax; } |
---|
29 | inline Int_t GetGtuMin() const { return fGtuMin; } |
---|
30 | inline Int_t GetGtuMax() const { return fGtuMax; } |
---|
31 | inline Int_t GetThreshold() const { return fThreshold; } |
---|
32 | inline vector<Int_t> GetPixelVector() { return fPixelId; } |
---|
33 | const Int_t GetPixelId( Int_t i ); |
---|
34 | inline Bool_t GetFitted() const { return fIsFitted; } |
---|
35 | inline Double_t GetSlopeTheta() const { return fSlopeTheta; } |
---|
36 | inline Double_t GetOffsetTheta() const { return fOffsetTheta; } |
---|
37 | inline Double_t GetAbsoluteDeviationTheta() const { return fAbsoluteDeviationTheta; } |
---|
38 | inline Double_t GetSlopePhi() const { return fSlopePhi; } |
---|
39 | inline Double_t GetOffsetPhi() const { return fOffsetPhi; } |
---|
40 | inline Double_t GetAbsoluteDeviationPhi() const { return fAbsoluteDeviationPhi; } |
---|
41 | |
---|
42 | // setters |
---|
43 | inline void SetThetaMin( Double_t th ) { fThetaMin = th; } |
---|
44 | inline void SetThetaMax( Double_t th ) { fThetaMax = th; } |
---|
45 | inline void SetPhiMin( Double_t phi ) { fPhiMin = phi; } |
---|
46 | inline void SetPhiMax( Double_t phi ) { fPhiMax = phi; } |
---|
47 | inline void SetGtuMin( Int_t gtu ) { fGtuMin = gtu; } |
---|
48 | inline void SetGtuMax( Int_t gtu ) { fGtuMax = gtu; } |
---|
49 | inline void SetThreshold( Int_t t ) { fThreshold = t; } |
---|
50 | inline void SetFitted( Bool_t isfit ) { fIsFitted = isfit; } |
---|
51 | inline void SetSlopeTheta( Double_t slope ) { fSlopeTheta = slope; } |
---|
52 | inline void SetOffsetTheta( Double_t offset ) { fOffsetTheta = offset; } |
---|
53 | inline void SetAbsoluteDeviationTheta( Double_t abdev ) { fAbsoluteDeviationTheta = abdev; } |
---|
54 | inline void SetSlopePhi( Double_t slope ) { fSlopePhi = slope; } |
---|
55 | inline void SetOffsetPhi( Double_t offset ) { fOffsetPhi = offset; } |
---|
56 | inline void SetAbsoluteDeviationPhi( Double_t abdev ) { fAbsoluteDeviationPhi = abdev; } |
---|
57 | |
---|
58 | |
---|
59 | private: |
---|
60 | |
---|
61 | Int_t fNumPoints; // number of points in cluster |
---|
62 | Double_t fThetaMin; |
---|
63 | Double_t fThetaMax; |
---|
64 | Double_t fPhiMin; |
---|
65 | Double_t fPhiMax; |
---|
66 | Int_t fGtuMin; |
---|
67 | Int_t fGtuMax; |
---|
68 | |
---|
69 | Int_t fThreshold; // threshold in pixel hits per gtu |
---|
70 | |
---|
71 | Bool_t fIsFitted; // true if cluster if fitted |
---|
72 | // parameters of straight line that fit the points |
---|
73 | // in theta-time and phi-time |
---|
74 | Double_t fSlopeTheta; |
---|
75 | Double_t fOffsetTheta; |
---|
76 | Double_t fAbsoluteDeviationTheta; |
---|
77 | Double_t fSlopePhi; |
---|
78 | Double_t fOffsetPhi; |
---|
79 | Double_t fAbsoluteDeviationPhi; |
---|
80 | |
---|
81 | // points of cluster |
---|
82 | vector<Int_t> fPixelId; // not is unique id but reference to fPixelData vector in RecoEvent |
---|
83 | ClassDef(EusoCluster,0) |
---|
84 | }; |
---|
85 | |
---|
86 | #endif /* __EUSOCLUSTER_HH_ */ |
---|
87 | |
---|