BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/DstEvent/DstEvent/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"
5#include "EventModel/EventModel.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
ostream & operator<<(ostream &os, const DstEmcShower &aShower)
const CLID & CLID_DstEmcShower
Definition: EventModel.cxx:264
ObjectVector< DstEmcShower > DstEmcShowerCol
TGraph2DErrors * dt
Definition: McCor.cxx:45
double dy() const
double dz() const
double dx() const
void setErrorMatrix(const HepSymMatrix &error)