BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/MdcRecEvent/include/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 "CLHEP/Geometry/Point3D.h"
10#include "CLHEP/Matrix/SymMatrix.h"
11#include "CLHEP/Matrix/Vector.h"
12#include "CLHEP/Vector/ThreeVector.h"
13#include "EventModel/EventModel.h"
14#include "GaudiKernel/ContainedObject.h"
15#include "GaudiKernel/ObjectVector.h"
16#include "GaudiKernel/SmartRef.h"
17#include "Identifier/Identifier.h"
18#include "Identifier/MdcID.h"
19
20#ifndef ENABLE_BACKWARDS_COMPATIBILITY
21typedef HepGeom::Point3D<double> HepPoint3D;
22#endif
23
24using namespace CLHEP;
25
26extern const CLID& CLID_RecMdcKalHelixSeg;
27
28class RecMdcKalTrack;
29
30class RecMdcKalHelixSeg : virtual public ContainedObject {
31
32public:
33 virtual const CLID& clID() const { return RecMdcKalHelixSeg::classID(); }
34
35 static const CLID& classID() { return CLID_RecMdcKalHelixSeg; }
36 // constrcctor and destructor
40
41 // extractors
42 int getTrackId( void ) const { return m_trackid; }
43 Identifier getMdcId( void ) const { return m_mdcid; }
44 int getFlagLR( void ) const { return m_flagLR; }
45 double getTdc( void ) const { return m_tdc; }
46 double getAdc( void ) const { return m_adc; }
47 double getZhit( void ) const { return m_zhit; }
48 double getTof( void ) const { return m_tof; }
49 double getDocaIncl( void ) const { return m_doca_incl; }
50 double getDocaExcl( void ) const { return m_doca_excl; }
51 double getDD( void ) const { return m_dd; };
52 double getEntra( void ) const { return m_entra; }
53 double getDT( void ) const { return m_dt; }
54 int getLayerId( void ) const { return m_layerId; }
55
56 /// get every component of helix parameter
57 double getDrIncl( void ) const { return m_helix_incl[0]; }
58 double getFi0Incl( void ) const { return m_helix_incl[1]; }
59 double getCpaIncl( void ) const { return m_helix_incl[2]; }
60 double getDzIncl( void ) const { return m_helix_incl[3]; }
61 double getTanlIncl( void ) const { return m_helix_incl[4]; }
62
63 double getDrExcl( void ) const { return m_helix_excl[0]; }
64 double getFi0Excl( void ) const { return m_helix_excl[1]; }
65 double getCpaExcl( void ) const { return m_helix_excl[2]; }
66 double getDzExcl( void ) const { return m_helix_excl[3]; }
67 double getTanlExcl( void ) const { return m_helix_excl[4]; }
68
69 HepVector& getHelixIncl( void ) { return m_helix_incl; }
70 HepVector& getHelixExcl( void ) { return m_helix_excl; }
71
72 HepSymMatrix& getErrorIncl( void ) { return m_error_incl; }
73 HepSymMatrix& getErrorExcl( void ) { return m_error_excl; }
74 double getResIncl( void ) { return m_res_incl; }
75 double getResExcl( void ) { return m_res_excl; }
76
77 // modifiers
78 void setTrackId( int trackid ) { m_trackid = trackid; }
79 void setMdcId( Identifier mdcid ) { m_mdcid = mdcid; }
80 void setFlagLR( int flagLR ) { m_flagLR = flagLR; }
81 void setTdc( double tdc ) { m_tdc = tdc; }
82 void setAdc( double adc ) { m_adc = adc; }
83 void setZhit( double zhit ) { m_zhit = zhit; }
84 void setTof( double tof ) { m_tof = tof; }
85 void setDocaIncl( double doca ) { m_doca_incl = doca; }
86 void setDocaExcl( double doca ) { m_doca_excl = doca; }
87
88 void setDD( double dd ) { m_dd = dd; }
89 void setEntra( double entra ) { m_entra = entra; }
90 void setDT( double dt ) { m_dt = dt; }
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 ) { m_helix_incl = helix; }
109 void setErrorIncl( const HepSymMatrix& error ) { m_error_incl = error; }
110 void setHelixExcl( const HepVector& helix ) { m_helix_excl = helix; }
111 void setErrorExcl( const HepSymMatrix& error ) { m_error_excl = error; }
112
113 void setHelixIncl( double* helix ) {
114 for ( int i = 0; i < 5; i++ ) { m_helix_incl[i] = helix[i]; }
115 }
116 void setErrorIncl( double* error ) {
117 int k = 0;
118 for ( int i = 0; i < 5; i++ )
119 {
120 for ( int j = 0; j <= i; j++, k++ )
121 {
122 m_error_incl[i][j] = error[k];
123 m_error_incl[j][i] = error[k];
124 }
125 }
126 }
127
128 void setHelixExcl( double* helix ) {
129 for ( int i = 0; i < 5; i++ ) { m_helix_excl[i] = helix[i]; }
130 }
131
132 void setErrorExcl( double* error ) {
133 int k = 0;
134 for ( int i = 0; i < 5; i++ )
135 {
136 for ( int j = 0; j <= i; j++, k++ )
137 {
138 m_error_excl[i][j] = error[k];
139 m_error_excl[j][i] = error[k];
140 }
141 }
142 }
143
144private:
145 int m_trackid{ 0 };
146 Identifier m_mdcid;
147 int m_flagLR{ 0 };
148 double m_tdc{ 0.0 };
149 double m_adc{ 0.0 };
150 double m_zhit{ 0.0 };
151 double m_tof{ 0.0 };
152 double m_doca_incl{ 0.0 };
153 double m_doca_excl{ 0.0 };
154 double m_dd{ 0.0 };
155 double m_entra{ 0.0 };
156 double m_dt{ 0.0 };
157 double m_res_incl{ 0.0 };
158 double m_res_excl{ 0.0 };
159 HepVector m_helix_incl; // 5 track parameters
160 HepVector m_helix_excl; // 5 track parameters
161
162 HepSymMatrix m_error_incl; // error matrix
163 HepSymMatrix m_error_excl; // error matrix
164
165 int m_layerId{ 0 };
166};
167typedef ObjectVector<RecMdcKalHelixSeg> RecMdcKalHelixSegCol;
168
169#endif
HepGeom::Point3D< double > HepPoint3D
const CLID & CLID_RecMdcKalHelixSeg
ObjectVector< RecMdcKalHelixSeg > RecMdcKalHelixSegCol
TGraph2DErrors * dt
Definition McCor.cxx:41
const CLID & CLID_RecMdcKalHelixSeg
RecMdcKalHelixSeg(RecMdcKalHelixSeg &seg)
double getDrIncl(void) const
get every component of helix parameter