CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Cgem/CgemRecEvent/CgemRecEvent-00-00-16/CgemRecEvent/RecCgemKalHelixSeg.h
Go to the documentation of this file.
1/*
2 * @class : RecCgemKalHelixSeg
3 *
4 * @author: wangjk
5 * ********************************************************/
6
7#ifndef RECCGEMKALHELIXSEG_H
8#define RECCGEMKALHELIXSEG_H
9#include "GaudiKernel/ContainedObject.h"
10#include "GaudiKernel/SmartRef.h"
11#include "GaudiKernel/ObjectVector.h"
12#include "Identifier/Identifier.h"
13#include "Identifier/CgemID.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_RecCgemKalHelixSeg;
28
29class RecCgemKalTrack;
30
31class RecCgemKalHelixSeg : 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 getCgemId(void) const { return m_cgemid; }
49 double getTdc(void) const { return m_tdc; }
50 double getAdc(void) const { return m_adc; }
51 double getZhit(void) const { return m_zhit; }
52 double getTof(void) const{ return m_tof; }
53 double getDocaIncl(void) const { return m_doca_incl ; }
54 double getDocaExcl(void) const { return m_doca_excl ; }
55 double getEntra(void) const { return m_entra; }
56 int getLayerId(void) const {return m_layerId; }
57
58 /// get every component of helix parameter
59 double getDrIncl ( void ) const { return m_helix_incl[0]; }
60 double getFi0Incl ( void ) const { return m_helix_incl[1]; }
61 double getCpaIncl ( void ) const { return m_helix_incl[2]; }
62 double getDzIncl ( void ) const { return m_helix_incl[3]; }
63 double getTanlIncl( void ) const { return m_helix_incl[4]; }
64
65 double getDrExcl ( void ) const { return m_helix_excl[0]; }
66 double getFi0Excl ( void ) const { return m_helix_excl[1]; }
67 double getCpaExcl ( void ) const { return m_helix_excl[2]; }
68 double getDzExcl ( void ) const { return m_helix_excl[3]; }
69 double getTanlExcl( void ) const { return m_helix_excl[4]; }
70
71 HepVector& getHelixIncl( void ) { return m_helix_incl; }
72 HepVector& getHelixExcl( void ) { return m_helix_excl; }
73
74 HepSymMatrix& getErrorIncl( void ) { return m_error_incl; }
75 HepSymMatrix& getErrorExcl( void ) { return m_error_excl; }
76 double getResIncl(void) { return m_res_incl; }
77 double getResExcl(void) { return m_res_excl; }
78
79
80 // modifiers
81 void setTrackId(int trackid) { m_trackid = trackid ;}
82 void setCgemId(Identifier cgemid) { m_cgemid = cgemid;}
83 void setTdc(double tdc) { m_tdc = tdc; }
84 void setAdc(double adc) { m_adc = adc; }
85 void setZhit(double zhit) { m_zhit = zhit; }
86 void setTof(double tof) { m_tof = tof; }
87 void setDocaIncl(double doca) { m_doca_incl = doca; }
88 void setDocaExcl(double doca) { m_doca_excl = doca; }
89
90 void setEntra(double entra) { m_entra = entra; }
91 void setLayerId(int layerId) { m_layerId = layerId;}
92
93 void setDrIncl(double dr) { m_helix_incl[0] = dr; }
94 void setFi0Incl(double fi0) { m_helix_incl[1] = fi0; }
95 void setCpaIncl(double cpa) { m_helix_incl[2] = cpa; }
96 void setDzIncl(double dz) { m_helix_incl[3] = dz; }
97 void setTanlIncl(double tanl) { m_helix_incl[4] = tanl; }
98
99 void setDrExcl(double dr) { m_helix_excl[0] = dr; }
100 void setFi0Excl(double fi0) { m_helix_excl[1] = fi0; }
101 void setCpaExcl(double cpa) { m_helix_excl[2] = cpa; }
102 void setDzExcl(double dz) { m_helix_excl[3] = dz; }
103 void setTanlExcl(double tanl) { m_helix_excl[4] = tanl; }
104
105 void setResIncl(double res) {m_res_incl = res; }
106 void setResExcl(double res) {m_res_excl = res; }
107
108 void setHelixIncl(const HepVector& helix) {
109 m_helix_incl = helix;
110 }
111 void setErrorIncl(const HepSymMatrix& error) {
112 m_error_incl = error;
113 }
114 void setHelixExcl(const HepVector& helix) {
115 m_helix_excl = helix;
116 }
117 void setErrorExcl(const HepSymMatrix& error) {
118 m_error_excl = error;
119 }
120
121 void setHelixIncl(double* helix) {
122 for(int i=0; i<5; i++) {
123 m_helix_incl[i] = helix[i];
124 }
125 }
126 void setErrorIncl(double* error) {
127 int k=0;
128 for(int i=0; i<5 ; i++) {
129 for(int j=0; j<=i; j++,k++) {
130 m_error_incl[i][j] = error[k];
131 m_error_incl[j][i] = error[k];
132 }
133 }
134 }
135
136 void setHelixExcl(double* helix) {
137 for(int i=0; i<5; i++) {
138 m_helix_excl[i] = helix[i];
139 }
140 }
141
142 void setErrorExcl(double* error) {
143 int k=0;
144 for(int i=0; i<5 ; i++) {
145 for(int j=0; j<=i; j++,k++) {
146 m_error_excl[i][j] = error[k];
147 m_error_excl[j][i] = error[k];
148 }
149 }
150 }
151
152
153 private:
154
155 int m_trackid;
156 Identifier m_cgemid;
157 double m_tdc;
158 double m_adc;
159 double m_zhit;
160 double m_tof;
161 double m_doca_incl;
162 double m_doca_excl;
163 double m_entra;
164 double m_res_incl;
165 double m_res_excl;
166 HepVector m_helix_incl; // 5 track parameters
167 HepVector m_helix_excl; // 5 track parameters
168
169 HepSymMatrix m_error_incl; // error matrix
170 HepSymMatrix m_error_excl; // error matrix
171
172 int m_layerId;
173
174};
175typedef ObjectVector<RecCgemKalHelixSeg> RecCgemKalHelixSegCol;
176
177
178#endif
179
ObjectVector< RecCgemKalHelixSeg > RecCgemKalHelixSegCol
const CLID & CLID_RecCgemKalHelixSeg
Definition: EventModel.cxx:420
const CLID & CLID_RecCgemKalHelixSeg
Definition: EventModel.cxx:420
double getDrIncl(void) const
get every component of helix parameter