CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Event/DstEvent/DstEvent-00-05-06/DstEvent/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"
5#include "EventModel/EventModel.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
ObjectVector< DstCgemTrack > DstCgemTrackCol
const CLID & CLID_DstCgemTrack
Definition: EventModel.cxx:311
HepGeom::Point3D< double > HepPoint3D
const CLID & CLID_DstCgemTrack
Definition: EventModel.cxx:311
DstCgemTrack & operator=(const DstCgemTrack &)
void setHelix(double helix[5])
void setError(double err[15])
void setPoca(double poca[3])
const HepSymMatrix err() const
const HepLorentzVector p4(const double mass) const
const HepVector helix() const
......