BOSS 7.0.6
BESIII Offline Software System
Loading...
Searching...
No Matches
DstEmcShower.h
Go to the documentation of this file.
1#ifndef DST_EMCSHOWER_H
2#define DST_EMCSHOWER_H
3#include "GaudiKernel/ObjectVector.h"
4#include "GaudiKernel/ContainedObject.h"
6#include "CLHEP/Geometry/Point3D.h"
7#include "CLHEP/Matrix/SymMatrix.h"
8
9#include <vector>
10
11#ifndef ENABLE_BACKWARDS_COMPATIBILITY
12// backwards compatibility will be enabled ONLY in CLHEP 1.9
14#endif
15using namespace CLHEP;
16
17using namespace std;
18using namespace EventModel;
19extern const CLID &CLID_DstEmcShower;
20
21class DstEmcShower : virtual public ContainedObject {
22 public:
24 virtual ~DstEmcShower() {}
25
26 virtual const CLID& clID() const { return DstEmcShower::classID();}
27 static const CLID& classID() { return CLID_DstEmcShower; }
28
29 int trackId() const {return m_trackId ;}
30 int numHits() const { return m_numHits; }
31 int status() const { return m_status; }
32 int cellId() const { return m_cellId; }
33 int module() const { return m_module; }
34 HepPoint3D position() const { return m_position; }
35 double x() const { return m_position.x(); }
36 double y() const { return m_position.y(); }
37 double z() const { return m_position.z(); }
38 double theta() const { return m_position.theta(); }
39 double phi() const { return m_position.phi(); }
40 double dx() const;
41 double dy() const;
42 double dz() const;
43 double dtheta() const { return m_dTheta; }
44 double dphi() const { return m_dPhi; }
45 double energy() const { return m_energy; }
46 double dE() const { return m_dE; }
47 double eSeed() const { return m_eSeed; }
48 double e3x3() const { return m_e3x3; }
49 double e5x5() const { return m_e5x5; }
50 double time() const { return m_time; }
51 double secondMoment() const {return m_secondMoment;}
52 double latMoment() const {return m_latMoment;}
53 double a20Moment() const {return m_a20Moment;}
54 double a42Moment() const {return m_a42Moment;}
55 HepSymMatrix errorMatrix() const { return m_errorMatrix; }
56
57 void setTrackId(int trackId) {m_trackId = trackId;}
58 void setNumHits( int hit ) { m_numHits = hit; }
59 void setStatus(int st ) { m_status = st; }
60 void setCellId(int id ) { m_cellId = id; }
61 void setModule(int mod) { m_module = mod; }
62 void setPosition(const HepPoint3D& pos) { m_position=pos; }
63 void setEnergy(double e ) { m_energy = e ; }
64 void setDE(double de ) { m_dE = de; }
65 void setDtheta(double dt ) { m_dTheta = dt; }
66 void setDphi(double dpi ) { m_dPhi = dpi ; }
67 void setESeed(double eSeed ) { m_eSeed = eSeed ; }
68 void setE3x3(double e3x3 ) { m_e3x3 = e3x3 ; }
69 void setE5x5(double e5x5 ) { m_e5x5 = e5x5 ; }
70 void setTime(double time ) { m_time = time ; }
71 void setSecondMoment(double secondMoment) { m_secondMoment = secondMoment; }
72 void setLatMoment(double latMoment) { m_latMoment = latMoment; }
73 void setA20Moment(double a20Moment) { m_a20Moment = a20Moment; }
74 void setA42Moment(double a42Moment) { m_a42Moment = a42Moment; }
75 void setErrorMatrix(const HepSymMatrix& error) { m_errorMatrix = error; }
76
77 private:
78 int m_trackId; // Track ID wensp Add 2005-10-19
79 int m_numHits; // Total number of hits
80 int m_status; // Status: 1:single seed cluster; 2:splitted from multi-seeds cluster
81 int m_cellId; // Cell ID
82 int m_module; // Module: 0:east endcap; 1:barrel; 2:west endcap
83 HepPoint3D m_position; // Shower position
84 double m_dTheta;
85 double m_dPhi;
86 double m_energy; // Shower energy after correction
87 double m_dE;
88 double m_eSeed; //// Energy of seed, only one
89 double m_e3x3; //Energy of 3x3 crystals, totally 9 ones
90 double m_e5x5; //Energy of 5x5 crystals, totally 25 ones
91 double m_time; //Time measurement
92 //The following four moments describe the shower shape
93 double m_secondMoment; //add 2006-07-03
94 double m_latMoment; //Lateral moment
95 double m_a20Moment; //Zernike moment
96 double m_a42Moment;
97 HepSymMatrix m_errorMatrix;
98};
99
100ostream& operator<<(ostream & os, const DstEmcShower& aShower);
101
102typedef ObjectVector<DstEmcShower> DstEmcShowerCol;
103#endif //DST_EMCSHOWER_H
104
HepGeom::Point3D< double > HepPoint3D
Definition: DstEmcShower.h:13
ostream & operator<<(ostream &os, const DstEmcShower &aShower)
const CLID & CLID_DstEmcShower
Definition: EventModel.cxx:264
ObjectVector< DstEmcShower > DstEmcShowerCol
Definition: DstEmcShower.h:102
TGraph2DErrors * dt
Definition: McCor.cxx:45
double dy() const
int cellId() const
Definition: DstEmcShower.h:32
virtual ~DstEmcShower()
Definition: DstEmcShower.h:24
HepPoint3D position() const
Definition: DstEmcShower.h:34
int status() const
Definition: DstEmcShower.h:31
double latMoment() const
Definition: DstEmcShower.h:52
double a42Moment() const
Definition: DstEmcShower.h:54
double eSeed() const
Definition: DstEmcShower.h:47
void setDphi(double dpi)
Definition: DstEmcShower.h:66
double dphi() const
Definition: DstEmcShower.h:44
double theta() const
Definition: DstEmcShower.h:38
int module() const
Definition: DstEmcShower.h:33
void setE3x3(double e3x3)
Definition: DstEmcShower.h:68
double e3x3() const
Definition: DstEmcShower.h:48
void setDtheta(double dt)
Definition: DstEmcShower.h:65
double dz() const
double phi() const
Definition: DstEmcShower.h:39
double dx() const
Definition: DstEmcShower.cxx:3
virtual const CLID & clID() const
Definition: DstEmcShower.h:26
double secondMoment() const
Definition: DstEmcShower.h:51
int trackId() const
Definition: DstEmcShower.h:29
HepSymMatrix errorMatrix() const
Definition: DstEmcShower.h:55
double x() const
Definition: DstEmcShower.h:35
double e5x5() const
Definition: DstEmcShower.h:49
void setStatus(int st)
Definition: DstEmcShower.h:59
double time() const
Definition: DstEmcShower.h:50
void setNumHits(int hit)
Definition: DstEmcShower.h:58
void setSecondMoment(double secondMoment)
Definition: DstEmcShower.h:71
void setA20Moment(double a20Moment)
Definition: DstEmcShower.h:73
void setPosition(const HepPoint3D &pos)
Definition: DstEmcShower.h:62
void setDE(double de)
Definition: DstEmcShower.h:64
void setA42Moment(double a42Moment)
Definition: DstEmcShower.h:74
double z() const
Definition: DstEmcShower.h:37
void setESeed(double eSeed)
Definition: DstEmcShower.h:67
int numHits() const
Definition: DstEmcShower.h:30
double a20Moment() const
Definition: DstEmcShower.h:53
static const CLID & classID()
Definition: DstEmcShower.h:27
double energy() const
Definition: DstEmcShower.h:45
void setTime(double time)
Definition: DstEmcShower.h:70
double dE() const
Definition: DstEmcShower.h:46
void setModule(int mod)
Definition: DstEmcShower.h:61
double dtheta() const
Definition: DstEmcShower.h:43
void setCellId(int id)
Definition: DstEmcShower.h:60
void setLatMoment(double latMoment)
Definition: DstEmcShower.h:72
void setErrorMatrix(const HepSymMatrix &error)
Definition: DstEmcShower.h:75
double y() const
Definition: DstEmcShower.h:36
void setTrackId(int trackId)
Definition: DstEmcShower.h:57
void setEnergy(double e)
Definition: DstEmcShower.h:63
void setE5x5(double e5x5)
Definition: DstEmcShower.h:69
std::ostream ostream
Definition: bpkt_streams.h:41