00001 #ifndef RootEventData_TMdcKalTrack_H
00002 #define RootEventData_TMdcKalTrack_H 1
00003
00004 #include "TObject.h"
00005 #include "TString.h"
00006 #include "SimMatr.h"
00007
00008 class TMdcKalTrack : public TObject {
00009
00010 public:
00011
00012 TMdcKalTrack();
00013
00014 ~TMdcKalTrack ();
00015
00016
00017 Int_t getTrackId() const { return m_trackId; }
00018 Int_t getStat(const Int_t pid) const { return m_stat[pid]; }
00019 Int_t getStat2(const Int_t pid) const { return m_stat2[pid]; }
00020 Double_t getChisq(const Int_t pid) const { return m_chisq[pid];}
00021 Int_t getNdf(const Int_t pid) const { return m_ndf[pid]; }
00022 Int_t getNlayer(const Int_t pid) const { return m_nlayer[pid]; }
00023
00024
00025
00026
00027 Double_t getZHelix(Int_t i) const {return m_zhelix[i];}
00028 Double_t getZError(Int_t i, Int_t j) const {
00029 return SimMat::get_element(m_zerror,i,j); }
00030
00031 Double_t getZHelixE(Int_t i) const {return m_zhelix_e[i];}
00032 Double_t getZErrorE(Int_t i, Int_t j) const {
00033 return SimMat::get_element(m_zerror_e,i,j); }
00034
00035 Double_t getZHelixMu(Int_t i) const {return m_zhelix_mu[i];}
00036 Double_t getZErrorMu(Int_t i, Int_t j) const {
00037 return SimMat::get_element(m_zerror_mu,i,j); }
00038
00039 Double_t getZHelixK(Int_t i) const {return m_zhelix_k[i];}
00040 Double_t getZErrorK(Int_t i, Int_t j) const {
00041 return SimMat::get_element(m_zerror_k,i,j); }
00042
00043 Double_t getZHelixP(Int_t i) const {return m_zhelix_p[i];}
00044 Double_t getZErrorP(Int_t i, Int_t j) const {
00045 return SimMat::get_element(m_zerror_p,i,j); }
00046
00047
00048 Double_t getFHelix(Int_t i) const {return m_fhelix[i];}
00049 Double_t getFError(Int_t i, Int_t j) const {
00050 return SimMat::get_element(m_ferror,i,j); }
00051 Double_t getFHelixE(Int_t i) const {return m_fhelix_e[i];}
00052 Double_t getFErrorE(Int_t i, Int_t j) const {
00053 return SimMat::get_element(m_ferror_e,i,j); }
00054 Double_t getFHelixMu(Int_t i) const {return m_fhelix_mu[i];}
00055 Double_t getFErrorMu(Int_t i, Int_t j) const {
00056 return SimMat::get_element(m_ferror_mu,i,j); }
00057 Double_t getFHelixK(Int_t i) const {return m_fhelix_k[i];}
00058 Double_t getFErrorK(Int_t i, Int_t j) const {
00059 return SimMat::get_element(m_ferror_k,i,j); }
00060 Double_t getFHelixP(Int_t i) const {return m_fhelix_p[i];}
00061 Double_t getFErrorP(Int_t i, Int_t j) const {
00062 return SimMat::get_element(m_ferror_p,i,j); }
00063
00064 void setTrackId (const Int_t trackId) { m_trackId = trackId; }
00065 void setStat(const Int_t stat, const Int_t pid) {m_stat[pid] = stat;}
00066 void setStat2(const Int_t stat, const Int_t pid) {m_stat2[pid] = stat;}
00067 void setChisq(const Double_t chisq, const Int_t pid) {m_chisq[pid] = chisq;}
00068 void setNdf(const Int_t ndf, const Int_t pid) {m_ndf[pid] = ndf;}
00069 void setNlayer(const Int_t nlayer, const Int_t pid) {m_nlayer[pid] = nlayer;}
00070
00071
00072
00073
00074 void setZHelix(const Double_t zhelix[5]){
00075 for (int i=0; i<5; i++)
00076 m_zhelix[i] = zhelix[i];
00077 }
00078 void setZError(const Double_t zerror[5][5]){
00079 SimMat::pack2d(5,&zerror[0][0],m_zerror);
00080 }
00081
00082
00083
00084
00085
00086 void setZHelixE(const Double_t zhelix_e[5]){
00087 for (int i = 0 ; i<5 ; i++)
00088 m_zhelix_e[i] = zhelix_e[i];
00089 }
00090 void setZErrorE(const Double_t zerror_e[5][5]){
00091 SimMat::pack2d(5,&zerror_e[0][0],m_zerror_e);
00092 }
00093
00094
00095
00096
00097 void setZHelixMu(const Double_t zhelix_mu[5]){
00098 for (int i = 0 ; i<5 ; i++)
00099 m_zhelix_mu[i] = zhelix_mu[i];
00100 }
00101 void setZErrorMu(const Double_t zerror_mu[5][5]){
00102 SimMat::pack2d(5,&zerror_mu[0][0],m_zerror_mu);
00103 }
00104
00105
00106
00107
00108 void setZHelixK(const Double_t zhelix_k[5]){
00109 for (int i = 0 ; i<5 ; i++)
00110 m_zhelix_k[i] = zhelix_k[i];
00111 }
00112 void setZErrorK(const Double_t zerror_k[5][5]){
00113 SimMat::pack2d(5,&zerror_k[0][0],m_zerror_k);
00114 }
00115
00116
00117
00118
00119 void setZHelixP(const Double_t zhelix_p[5]){
00120 for (int i = 0 ; i<5 ; i++)
00121 m_zhelix_p[i] = zhelix_p[i];
00122 }
00123 void setZErrorP(const Double_t zerror_p[5][5]){
00124 SimMat::pack2d(5,&zerror_p[0][0],m_zerror_p);
00125 }
00126
00127
00128
00129
00130 void setFHelix(const Double_t fhelix[5]){
00131 for (int i=0; i<5; i++)
00132 m_fhelix[i] = fhelix[i];
00133 }
00134 void setFError(const Double_t ferror[5][5]){
00135 SimMat::pack2d(5,&ferror[0][0],m_ferror);
00136 }
00137
00138 void setFHelixE(const Double_t fhelix_e[5]){
00139 for (int i = 0 ; i<5 ; i++)
00140 m_fhelix_e[i] = fhelix_e[i];
00141 }
00142 void setFErrorE(const Double_t ferror_e[5][5]){
00143 SimMat::pack2d(5,&ferror_e[0][0],m_ferror_e);
00144 }
00145
00146 void setFHelixMu(const Double_t fhelix_mu[5]){
00147 for (int i = 0 ; i<5 ; i++)
00148 m_fhelix_mu[i] = fhelix_mu[i];
00149 }
00150 void setFErrorMu(const Double_t ferror_mu[5][5]){
00151 SimMat::pack2d(5,&ferror_mu[0][0],m_ferror_mu);
00152 }
00153
00154 void setFHelixK(const Double_t fhelix_k[5]){
00155 for (int i = 0 ; i<5 ; i++)
00156 m_fhelix_k[i] = fhelix_k[i];
00157 }
00158 void setFErrorK(const Double_t ferror_k[5][5]){
00159 SimMat::pack2d(5,&ferror_k[0][0],m_ferror_k);
00160 }
00161
00162 void setFHelixP(const Double_t fhelix_p[5]){
00163 for (int i = 0 ; i<5 ; i++)
00164 m_fhelix_p[i] = fhelix_p[i];
00165 }
00166 void setFErrorP(const Double_t ferror_p[5][5]){
00167 SimMat::pack2d(5,&ferror_p[0][0],m_ferror_p);
00168 }
00169
00170
00171 private:
00172 Int_t m_trackId;
00173 Int_t m_stat[5];
00174 Int_t m_stat2[5];
00175 Double_t m_chisq[5];
00176 Int_t m_ndf[5];
00177 Int_t m_nlayer[5];
00178
00179
00180
00181
00182
00183 Double_t m_zhelix[5];
00184
00185 Double_t m_zerror[15];
00186
00187
00188 Double_t m_zhelix_e[5];
00189
00190 Double_t m_zerror_e[15];
00191
00192
00193 Double_t m_zhelix_mu[5];
00194
00195 Double_t m_zerror_mu[15];
00196
00197
00198 Double_t m_zhelix_k[5];
00199
00200 Double_t m_zerror_k[15];
00201
00202
00203 Double_t m_zhelix_p[5];
00204
00205 Double_t m_zerror_p[15];
00206
00207 Double_t m_fhelix[5];
00208
00209 Double_t m_ferror[15];
00210 Double_t m_fhelix_e[5];
00211
00212 Double_t m_ferror_e[15];
00213 Double_t m_fhelix_mu[5];
00214
00215 Double_t m_ferror_mu[15];
00216 Double_t m_fhelix_k[5];
00217
00218 Double_t m_ferror_k[15];
00219 Double_t m_fhelix_p[5];
00220
00221 Double_t m_ferror_p[15];
00222
00223 ClassDef(TMdcKalTrack,3)
00224 };
00225
00226 #endif