CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
DstCgemTrack.h
Go to the documentation of this file.
1#ifndef DSTCGEMTRACK_H
2#define DSTCGEMTRACK_H
3#include "GaudiKernel/ObjectVector.h"
4#include "GaudiKernel/ContainedObject.h"
6#include <vector>
7#include "CLHEP/Matrix/Vector.h"
8#include "CLHEP/Matrix/SymMatrix.h"
9#include "CLHEP/Vector/ThreeVector.h"
10#include "CLHEP/Geometry/Point3D.h"
11#include "CLHEP/Vector/LorentzVector.h"
12
13#ifndef ENABLE_BACKWARDS_COMPATIBILITY
14// backwards compatibility will be enabled ONLY in CLHEP 1.9
16#endif
17using namespace CLHEP;
18
19using namespace std;
20using namespace EventModel;
21extern const CLID &CLID_DstCgemTrack;
22
23
24class DstCgemTrack : virtual public ContainedObject
25{
26 public:
30 virtual ~DstCgemTrack() {}
31 virtual const CLID& clID() const { return DstCgemTrack::classID();}
32 static const CLID& classID() { return CLID_DstCgemTrack; }
33
34 /// ......
35
36 const HepVector helix() const;
37 const HepSymMatrix err() const;
38 const HepLorentzVector p4(const double mass) const;
39
40 const HepPoint3D poca() const{
41 return m_poca3D;
42 }
43 const Hep3Vector p3() const{
44 return Hep3Vector(m_px,m_py,m_pz);
45 }
46 const HepPoint3D x3() const{
47 return HepPoint3D(m_x,m_y,m_z);
48 }
49
50 const double helix(const int i) const { return m_helix[i]; }
51 const double err(const int i) const { return m_err[i]; }
52 const int trackId() const { return m_trackId; }
53 const int charge() const { return m_charge; }
54 const double pxy() const { return m_pxy; }
55 const double px() const { return m_px; }
56 const double py() const { return m_py; }
57 const double pz() const { return m_pz; }
58 const double p() const { return m_p; }
59 const double theta() const { return m_theta;}
60 const double phi() const { return m_phi; }
61 const double x() const { return m_x; }
62 const double y() const { return m_y; }
63 const double z() const { return m_z; }
64 const double r() const { return m_r; }
65 const int stat() const { return m_stat; }
66 const double chi2() const { return m_chi2; }
67 const int ndof() const { return m_ndof; }
68 const int firstLayer() const { return m_firstLayer;}
69 const int lastLayer() const { return m_lastLayer; }
70
71
72 // set functions
73 void setHelix(double helix[5]);
74 void setPoca(double poca[3]);
75 void setError( double err[15]);
76 void setHelix(const HepVector& a);
77 void setPoca(const HepPoint3D& poca);
78 void setError(const HepSymMatrix& Ea);
79
80 void setTrackId(const int trackId ) { m_trackId = trackId; }
81 void setCharge(const int charge ) { m_charge = charge;}
82 void setPxy(const double pxy) { m_pxy = pxy; }
83 void setPx (const double px) { m_px = px; }
84 void setPy(const double py) { m_py = py; }
85 void setPz(const double pz) { m_pz = pz; }
86 void setP(const double p ) { m_p = p; }
87 void setTheta(const double theta) { m_theta = theta; }
88 void setPhi(const double phi ) { m_phi = phi; }
89 void setX(const double x) { m_x = x; }
90 void setY(const double y) { m_y = y; }
91 void setZ(const double z) { m_z = z; }
92 void setR(const double r) { m_r = r; }
93 void setStat(const int stat) { m_stat = stat;}
94 void setChi2(const double chi) { m_chi2 = chi;}
95 void setNdof(const int ndof) { m_ndof = ndof;}
96 void setFirstLayer(const int id) { m_firstLayer = id;}
97 void setLastLayer(const int id) { m_lastLayer = id;}
98
99
100 protected:
101 int m_trackId; // Track ID wensp Add 2005-10-19
102 int m_charge; // charge of the track
103 double m_helix[5]; // 5 track parameters
104 double m_err[15]; // Error Matrix
105 double m_poca[3]; // position of closest approach to origin
107 HepVector m_a;
108 HepSymMatrix m_Ea;
109 int m_stat; // Track Fit Quality status flag
110 double m_chi2; // chisq of track fit
111 int m_ndof; // degree of freedom
112 int m_firstLayer; // layer id of first hit in PR hits collection
113 int m_lastLayer; // layer id of last hit in PR hits collection
114 double m_pxy; // Track Momentum(GeV)
115 double m_px;
116 double m_py;
117 double m_pz;
118 double m_p;
119 double m_theta; // The Angles
120 double m_phi; // Need to config
121 double m_x; // The Coordinate of Track origin(m)
122 double m_y;
123 double m_z;
124 double m_r;
125};
126
127typedef ObjectVector<DstCgemTrack> DstCgemTrackCol;
128
129#endif //DST_CGEMTRACK_H
130
double mass
HepGeom::Point3D< double > HepPoint3D
Definition: DstCgemTrack.h:15
ObjectVector< DstCgemTrack > DstCgemTrackCol
Definition: DstCgemTrack.h:127
const CLID & CLID_DstCgemTrack
Definition: EventModel.cxx:311
double m_helix[5]
Definition: DstCgemTrack.h:103
const double px() const
Definition: DstCgemTrack.h:55
const double x() const
Definition: DstCgemTrack.h:61
HepSymMatrix m_Ea
Definition: DstCgemTrack.h:108
void setLastLayer(const int id)
Definition: DstCgemTrack.h:97
const double p() const
Definition: DstCgemTrack.h:58
void setStat(const int stat)
Definition: DstCgemTrack.h:93
void setPx(const double px)
Definition: DstCgemTrack.h:83
const HepPoint3D poca() const
Definition: DstCgemTrack.h:40
const double err(const int i) const
Definition: DstCgemTrack.h:51
const double theta() const
Definition: DstCgemTrack.h:59
const int firstLayer() const
Definition: DstCgemTrack.h:68
void setPhi(const double phi)
Definition: DstCgemTrack.h:88
const double helix(const int i) const
Definition: DstCgemTrack.h:50
static const CLID & classID()
Definition: DstCgemTrack.h:32
void setTheta(const double theta)
Definition: DstCgemTrack.h:87
DstCgemTrack & operator=(const DstCgemTrack &)
const double phi() const
Definition: DstCgemTrack.h:60
void setCharge(const int charge)
Definition: DstCgemTrack.h:81
void setHelix(double helix[5])
const double pxy() const
Definition: DstCgemTrack.h:54
const int lastLayer() const
Definition: DstCgemTrack.h:69
void setZ(const double z)
Definition: DstCgemTrack.h:91
void setP(const double p)
Definition: DstCgemTrack.h:86
const int trackId() const
Definition: DstCgemTrack.h:52
const Hep3Vector p3() const
Definition: DstCgemTrack.h:43
void setTrackId(const int trackId)
Definition: DstCgemTrack.h:80
const double y() const
Definition: DstCgemTrack.h:62
const double chi2() const
Definition: DstCgemTrack.h:66
HepVector m_a
Definition: DstCgemTrack.h:107
void setError(double err[15])
const double r() const
Definition: DstCgemTrack.h:64
void setPxy(const double pxy)
Definition: DstCgemTrack.h:82
void setPy(const double py)
Definition: DstCgemTrack.h:84
double m_poca[3]
Definition: DstCgemTrack.h:105
void setY(const double y)
Definition: DstCgemTrack.h:90
void setPoca(double poca[3])
const double pz() const
Definition: DstCgemTrack.h:57
const HepSymMatrix err() const
HepPoint3D m_poca3D
Definition: DstCgemTrack.h:106
const double z() const
Definition: DstCgemTrack.h:63
void setX(const double x)
Definition: DstCgemTrack.h:89
virtual const CLID & clID() const
Definition: DstCgemTrack.h:31
const HepLorentzVector p4(const double mass) const
void setNdof(const int ndof)
Definition: DstCgemTrack.h:95
void setFirstLayer(const int id)
Definition: DstCgemTrack.h:96
void setR(const double r)
Definition: DstCgemTrack.h:92
void setPz(const double pz)
Definition: DstCgemTrack.h:85
void setChi2(const double chi)
Definition: DstCgemTrack.h:94
double m_err[15]
Definition: DstCgemTrack.h:104
virtual ~DstCgemTrack()
Definition: DstCgemTrack.h:30
const int stat() const
Definition: DstCgemTrack.h:65
const double py() const
Definition: DstCgemTrack.h:56
double m_theta
Definition: DstCgemTrack.h:119
const int ndof() const
Definition: DstCgemTrack.h:67
const int charge() const
Definition: DstCgemTrack.h:53
const HepVector helix() const
......
const HepPoint3D x3() const
Definition: DstCgemTrack.h:46