CGEM BOSS 6.6.5.h
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
TGraphErrors * dt
Definition AbsCor.cxx:72
HepGeom::Point3D< double > HepPoint3D
ostream & operator<<(ostream &os, const DstEmcShower &aShower)
const CLID & CLID_DstEmcShower
ObjectVector< DstEmcShower > DstEmcShowerCol
double dy() const
int cellId() const
virtual ~DstEmcShower()
HepPoint3D position() const
int status() const
double latMoment() const
double a42Moment() const
double eSeed() const
void setDphi(double dpi)
double dphi() const
double theta() const
int module() const
void setE3x3(double e3x3)
double e3x3() const
void setDtheta(double dt)
double dz() const
double phi() const
double dx() const
virtual const CLID & clID() const
double secondMoment() const
int trackId() const
HepSymMatrix errorMatrix() const
double x() const
double e5x5() const
void setStatus(int st)
double time() const
void setNumHits(int hit)
void setSecondMoment(double secondMoment)
void setA20Moment(double a20Moment)
void setPosition(const HepPoint3D &pos)
void setDE(double de)
void setA42Moment(double a42Moment)
double z() const
void setESeed(double eSeed)
int numHits() const
double a20Moment() const
static const CLID & classID()
double energy() const
void setTime(double time)
double dE() const
void setModule(int mod)
double dtheta() const
void setCellId(int id)
void setLatMoment(double latMoment)
void setErrorMatrix(const HepSymMatrix &error)
double y() const
void setTrackId(int trackId)
void setEnergy(double e)
void setE5x5(double e5x5)