SND@LHC Software
Loading...
Searching...
No Matches
ecalCluster.h
Go to the documentation of this file.
1#ifndef ECALCLUSTER_H
2#define ECALCLUSTER_H
3
4#include "TObject.h"
5#include "TArrayI.h"
6#include "TArrayD.h"
7#include <list>
8
9#include "ecalCell.h"
10
11class ecalMaximum;
12
13struct ecalClusterSortProcess : public std::binary_function<ecalCell*, ecalCell*, Bool_t>
14{
15 inline Bool_t operator()(const ecalCell* left, const ecalCell* right) const
16 {
17 if (left->GetEnergy()<right->GetEnergy())
18 return kTRUE;
19 return kFALSE;
20 }
21};
22
24class ecalCluster : public TObject
25{
26friend class ecalClusterFinder;
27public:
31 ecalCluster(Int_t num, const std::list<ecalCell*>& cluster, const std::list<ecalMaximum*>& maximums);
33 inline Int_t Number() const {return fNum;}
35 inline Int_t Size() const {return fSize;}
37 inline Int_t Maxs() const {return fMaxs;}
39 inline Double_t Energy() const {return fEnergy;}
41 inline Double_t PreCalibrated() const {return fPreCalibrated;}
43 inline Double_t Moment() const {return fMoment;}
45 inline Double_t MomentX() const {return fMomentX;}
47 inline Double_t MomentY() const {return fMomentY;}
49 inline Double_t X() const {return fX;}
50 inline Double_t Y() const {return fY;}
52 inline Double_t Chi2() const {return fChi2;}
54 inline Short_t Status() const {return fStatus;}
55 inline void SetStatus(Short_t st) {fStatus=st;}
56
58 inline Int_t CellNum(Int_t i) const {return fCellNums[i];}
59 inline Int_t PeakNum(Int_t i) const {return fPeakNums[i];}
60 inline Double_t PreEnergy(Int_t i) const {return fPreEnergy[i];}
61 inline ecalMaximum* Maximum(Int_t i) const {return fMaximums[i];}
63 virtual ~ecalCluster();
64private:
66 Int_t fNum;
69 Int_t fSize;
71 Int_t fMaxs;
73 Double_t fEnergy;
77 Double_t fMoment;
79 Double_t fMomentX;
81 Double_t fMomentY;
83 Double_t fX;
84 Double_t fY;
86 Double_t fChi2;
88 Short_t fStatus;
89
91 TArrayI fCellNums;
93 TArrayI fPeakNums;
95 TArrayD fPreEnergy;
98
101
102 ClassDef(ecalCluster, 2)
103};
104
105#endif
Float_t GetEnergy() const
Definition ecalCell.h:42
virtual ~ecalCluster()
Short_t Status() const
Definition ecalCluster.h:54
Double_t PreCalibrated() const
Definition ecalCluster.h:41
Int_t Maxs() const
Definition ecalCluster.h:37
TArrayD fPreEnergy
Definition ecalCluster.h:95
ecalCluster(const ecalCluster &)
Double_t MomentX() const
Definition ecalCluster.h:45
Int_t Number() const
Definition ecalCluster.h:33
Double_t Y() const
Definition ecalCluster.h:50
void SetStatus(Short_t st)
Definition ecalCluster.h:55
Double_t MomentY() const
Definition ecalCluster.h:47
Double_t Chi2() const
Definition ecalCluster.h:52
ecalCluster & operator=(const ecalCluster &)
Double_t fEnergy
Definition ecalCluster.h:73
Double_t fMomentY
Definition ecalCluster.h:81
Double_t fY
Definition ecalCluster.h:84
Double_t fPreCalibrated
Definition ecalCluster.h:75
Double_t PreEnergy(Int_t i) const
Definition ecalCluster.h:60
Double_t X() const
Definition ecalCluster.h:49
TArrayI fPeakNums
Definition ecalCluster.h:93
Double_t fMoment
Definition ecalCluster.h:77
Double_t Energy() const
Definition ecalCluster.h:39
Double_t fMomentX
Definition ecalCluster.h:79
Double_t Moment() const
Definition ecalCluster.h:43
TArrayI fCellNums
Definition ecalCluster.h:91
Short_t fStatus
Definition ecalCluster.h:88
Double_t fChi2
Definition ecalCluster.h:86
Int_t Size() const
Definition ecalCluster.h:35
ecalMaximum ** fMaximums
Definition ecalCluster.h:97
Int_t PeakNum(Int_t i) const
Definition ecalCluster.h:59
Double_t fX
Definition ecalCluster.h:83
ecalMaximum * Maximum(Int_t i) const
Definition ecalCluster.h:61
Int_t CellNum(Int_t i) const
Definition ecalCluster.h:58
Bool_t operator()(const ecalCell *left, const ecalCell *right) const
Definition ecalCluster.h:15