8#ifndef DSTCGEMKALTRACK_H
9#define DSTCGEMKALTRACK_H
10#include "GaudiKernel/ContainedObject.h"
11#include "GaudiKernel/SmartRef.h"
12#include "GaudiKernel/ObjectVector.h"
14#include "CLHEP/Matrix/Vector.h"
15#include "CLHEP/Matrix/SymMatrix.h"
16#include "CLHEP/Vector/ThreeVector.h"
17#include "CLHEP/Geometry/Point3D.h"
18#include "CLHEP/Vector/LorentzVector.h"
21#ifndef ENABLE_BACKWARDS_COMPATIBILITY
28using CLHEP::HepVector;
29using CLHEP::HepSymMatrix;
36 virtual const CLID&
clID()
const {
77 const double x(
const int i)
const {
return m_x[i];}
78 const double y(
const int i)
const {
return m_y[i];}
79 const double z(
const int i)
const {
return m_z[i];}
100 const Hep3Vector
p3()
const;
102 const HepLorentzVector
p4()
const;
103 const HepLorentzVector
p4(
double mass)
const;
113 void setP(
const double p,
const int pid) {
m_p[pid] =
p; }
116 void setX(
const double x,
const int pid) {
m_x[pid] =
x; }
117 void setY(
const double y,
const int pid) {
m_y[pid] =
y; }
118 void setZ(
const double z,
const int pid) {
m_z[pid] =
z; }
119 void setR(
const double r,
const int pid) {
m_r[pid] =
r; }
132 for(
int i=0; i<3; i++){
141 void setZError(
const HepSymMatrix& error,
const int pid) {
145 for(
int i=0; i<5; i++) {
153 for(
int i=0; i<5 ; i++) {
154 for(
int j=0; j<=i; j++,k++) {
155 mat[i][j] = error[k];
156 mat[j][i] = error[k];
166 void setFError(
const HepSymMatrix& ferror,
const int pid) {
170 for(
int i=0; i<5; i++) {
178 for(
int i=0; i<5 ; i++) {
179 for(
int j=0; j<=i; j++,k++) {
180 mat[i][j] = ferror[k];
181 mat[j][i] = ferror[k];
HepGeom::Point3D< double > HepPoint3D
ObjectVector< DstCgemKalTrack > DstCgemKalTrackCol
const CLID & CLID_DstCgemKalTrack
const double kappa(void) const
const double fi0(void) const
const double z(const int i) const
const HepSymMatrix & ferr() const
const int trackId() const
std::vector< HepVector > m_zhelixs
const double dr(void) const
const double tanl(void) const
const HepVector & getFHelix(const int pid) const
void setStat(int stat, int i, int pid)
void setCharge(const int charge, const int pid)
void setChisq(double chisq, int i, int pid)
const double y(const int i) const
void setFError(double *ferror, const int pid)
void setPoca(double *poca, const int pid)
void setZ(const double z, const int pid)
const HepSymMatrix & err() const
std::vector< HepSymMatrix > m_ferrors
const int getLastLayer(const int pid) const
void setNhits(int nhits, int pid)
static void setPidType(PidType pidType)
void setFirstLayer(int fL, int i, int pid)
void setX(const double x, const int pid)
const double theta() const
const HepVector & getZHelix(const int pid) const
const HepPoint3D x3() const
std::vector< HepVector > m_fhelixs
const HepSymMatrix & getZError(const int pid) const
void setPy(const double py, const int pid)
void setR(const double r, const int pid)
void setPoca(const HepPoint3D &poca, const int pid)
void setMass(double mass, int pid)
const double chi2() const
const int getStat(const int pid) const
std::vector< HepSymMatrix > m_zerrors
const double x(const int i) const
void setP(const double p, const int pid)
void setTrackId(int trackId)
const double mass() const
void setLastLayer(int lL, int i, int pid)
const int firstLayer() const
void setPz(const double pz, const int pid)
const int getNdf(const int pid) const
static const CLID & classID()
const int getFirstLayer(const int pid) const
const HepPoint3D poca() const
void setZHelix(const HepVector &helix, const int pid)
const double getChisq(const int pid) const
void setZHelix(double *helix, const int pid)
void setY(const double y, const int pid)
void setTheta(const double theta, const int pid)
const int lastLayer() const
const double dz(void) const
const HepVector & fhelix() const
const HepLorentzVector p4() const
static PidType getPidType()
const int getTrackId() const
void setPhi(const double phi, const int pid)
std::vector< HepPoint3D > m_pocas
void setNdf(int ndf, int i, int pid)
void setZError(const HepSymMatrix &error, const int pid)
void setFHelix(double *fhelix, const int pid)
void setZError(double *error, const int pid)
void setPxy(const double pxy, const int pid)
const HepSymMatrix & getFError(const int pid) const
DstCgemKalTrack & operator=(const DstCgemKalTrack &)
void setFError(const HepSymMatrix &ferror, const int pid)
void setPx(const double px, const int pid)
const Hep3Vector p3() const
const int getCharge(const int pid) const
const HepVector & helix() const
const HepPoint3D & getPoca(const int pid) const
virtual const CLID & clID() const
void setFHelix(const HepVector &fhelix, const int pid)