BOSS 7.0.5
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/MdcRecEvent/MdcRecEvent-00-05-14/MdcRecEvent/RecMdcKalHelixSeg.h
Go to the documentation of this file.
1/*
2 * @class : RecMdcKalHelixSeg
3 *
4 * @author: wangjk
5 * ********************************************************/
6
7#ifndef RECMDCKALHELIXSEG_H
8#define RECMDCKALHELIXSEG_H
9#include "GaudiKernel/ContainedObject.h"
10#include "GaudiKernel/SmartRef.h"
11#include "GaudiKernel/ObjectVector.h"
12#include "Identifier/Identifier.h"
13#include "Identifier/MdcID.h"
14#include "EventModel/EventModel.h"
15#include "CLHEP/Matrix/Vector.h"
16#include "CLHEP/Matrix/SymMatrix.h"
17#include "CLHEP/Vector/ThreeVector.h"
18#include "CLHEP/Geometry/Point3D.h"
19
20#ifndef ENABLE_BACKWARDS_COMPATIBILITY
22#endif
23
24
25using namespace CLHEP;
26
27extern const CLID& CLID_RecMdcKalHelixSeg;
28
29class RecMdcKalTrack;
30
31class RecMdcKalHelixSeg : virtual public ContainedObject {
32
33 public:
34 virtual const CLID& clID() const {
36 }
37
38 static const CLID& classID() {
40 }
41 //constrcctor and destructor
45
46 //extractors
47 int getTrackId(void) const { return m_trackid; }
48 Identifier getMdcId(void) const { return m_mdcid; }
49 int getFlagLR(void) const { return m_flagLR; }
50 double getTdc(void) const { return m_tdc; }
51 double getAdc(void) const { return m_adc; }
52 double getZhit(void) const { return m_zhit; }
53 double getTof(void) const{ return m_tof; }
54 double getDocaIncl(void) const { return m_doca_incl ; }
55 double getDocaExcl(void) const { return m_doca_excl ; }
56 double getDD(void) const { return m_dd; };
57 double getEntra(void) const { return m_entra; }
58 double getDT(void) const { return m_dt; }
59 int getLayerId(void) const {return m_layerId; }
60
61 /// get every component of helix parameter
62 double getDrIncl ( void ) const { return m_helix_incl[0]; }
63 double getFi0Incl ( void ) const { return m_helix_incl[1]; }
64 double getCpaIncl ( void ) const { return m_helix_incl[2]; }
65 double getDzIncl ( void ) const { return m_helix_incl[3]; }
66 double getTanlIncl( void ) const { return m_helix_incl[4]; }
67
68 double getDrExcl ( void ) const { return m_helix_excl[0]; }
69 double getFi0Excl ( void ) const { return m_helix_excl[1]; }
70 double getCpaExcl ( void ) const { return m_helix_excl[2]; }
71 double getDzExcl ( void ) const { return m_helix_excl[3]; }
72 double getTanlExcl( void ) const { return m_helix_excl[4]; }
73
74 HepVector& getHelixIncl( void ) { return m_helix_incl; }
75 HepVector& getHelixExcl( void ) { return m_helix_excl; }
76
77 HepSymMatrix& getErrorIncl( void ) { return m_error_incl; }
78 HepSymMatrix& getErrorExcl( void ) { return m_error_excl; }
79 double getResIncl(void) { return m_res_incl; }
80 double getResExcl(void) { return m_res_excl; }
81
82
83 // modifiers
84 void setTrackId(int trackid) { m_trackid = trackid ;}
85 void setMdcId(Identifier mdcid) { m_mdcid = mdcid;}
86 void setFlagLR(int flagLR) { m_flagLR =flagLR;}
87 void setTdc(double tdc) { m_tdc = tdc; }
88 void setAdc(double adc) { m_adc = adc; }
89 void setZhit(double zhit) { m_zhit = zhit; }
90 void setTof(double tof) { m_tof = tof; }
91 void setDocaIncl(double doca) { m_doca_incl = doca; }
92 void setDocaExcl(double doca) { m_doca_excl = doca; }
93
94 void setDD(double dd) { m_dd = dd; }
95 void setEntra(double entra) { m_entra = entra; }
96 void setDT(double dt) { m_dt = dt; }
97 void setLayerId(int layerId) { m_layerId = layerId;}
98
99 void setDrIncl(double dr) { m_helix_incl[0] = dr; }
100 void setFi0Incl(double fi0) { m_helix_incl[1] = fi0; }
101 void setCpaIncl(double cpa) { m_helix_incl[2] = cpa; }
102 void setDzIncl(double dz) { m_helix_incl[3] = dz; }
103 void setTanlIncl(double tanl) { m_helix_incl[4] = tanl; }
104
105 void setDrExcl(double dr) { m_helix_excl[0] = dr; }
106 void setFi0Excl(double fi0) { m_helix_excl[1] = fi0; }
107 void setCpaExcl(double cpa) { m_helix_excl[2] = cpa; }
108 void setDzExcl(double dz) { m_helix_excl[3] = dz; }
109 void setTanlExcl(double tanl) { m_helix_excl[4] = tanl; }
110
111 void setResIncl(double res) {m_res_incl = res; }
112 void setResExcl(double res) {m_res_excl = res; }
113
114 void setHelixIncl(const HepVector& helix) {
115 m_helix_incl = helix;
116 }
117 void setErrorIncl(const HepSymMatrix& error) {
118 m_error_incl = error;
119 }
120 void setHelixExcl(const HepVector& helix) {
121 m_helix_excl = helix;
122 }
123 void setErrorExcl(const HepSymMatrix& error) {
124 m_error_excl = error;
125 }
126
127 void setHelixIncl(double* helix) {
128 for(int i=0; i<5; i++) {
129 m_helix_incl[i] = helix[i];
130 }
131 }
132 void setErrorIncl(double* error) {
133 int k=0;
134 for(int i=0; i<5 ; i++) {
135 for(int j=0; j<=i; j++,k++) {
136 m_error_incl[i][j] = error[k];
137 m_error_incl[j][i] = error[k];
138 }
139 }
140 }
141
142 void setHelixExcl(double* helix) {
143 for(int i=0; i<5; i++) {
144 m_helix_excl[i] = helix[i];
145 }
146 }
147
148 void setErrorExcl(double* error) {
149 int k=0;
150 for(int i=0; i<5 ; i++) {
151 for(int j=0; j<=i; j++,k++) {
152 m_error_excl[i][j] = error[k];
153 m_error_excl[j][i] = error[k];
154 }
155 }
156 }
157
158
159 private:
160
161 int m_trackid;
162 Identifier m_mdcid;
163 int m_flagLR;
164 double m_tdc;
165 double m_adc;
166 double m_zhit;
167 double m_tof;
168 double m_doca_incl;
169 double m_doca_excl;
170 double m_dd;
171 double m_entra;
172 double m_dt;
173 double m_res_incl;
174 double m_res_excl;
175 HepVector m_helix_incl; // 5 track parameters
176 HepVector m_helix_excl; // 5 track parameters
177
178 HepSymMatrix m_error_incl; // error matrix
179 HepSymMatrix m_error_excl; // error matrix
180
181 int m_layerId;
182
183};
184typedef ObjectVector<RecMdcKalHelixSeg> RecMdcKalHelixSegCol;
185
186
187#endif
188
TGraph2DErrors * dt
Definition: McCor.cxx:45
const CLID & CLID_RecMdcKalHelixSeg
Definition: EventModel.cxx:314
ObjectVector< RecMdcKalHelixSeg > RecMdcKalHelixSegCol
RecMdcKalHelixSeg(RecMdcKalHelixSeg &seg)
double getDrIncl(void) const
get every component of helix parameter