10#include "GaudiKernel/ContainedObject.h"
11#include "GaudiKernel/ObjectVector.h"
14#include "CLHEP/Matrix/Vector.h"
15#include "CLHEP/Matrix/SymMatrix.h"
16#include "CLHEP/Vector/ThreeVector.h"
22using CLHEP::Hep3Vector;
23using CLHEP::HepSymMatrix;
43 const int trackId()
const {
return m_trackId ;}
59 const Hep3Vector
tof1Position(
int parID)
const {
return myTof1Position[parID];};
61 const Hep3Vector
tof1Momentum(
int parID)
const {
return myTof1Momentum[parID];};
63 const string tof1VolumeName(
int parID)
const {
return myTof1VolumeName[parID];};
67 const double tof1(
int parID)
const {
return myTof1[parID];};
69 const double tof1Path(
int parID)
const {
return myTof1Path[parID];};
79 const HepSymMatrix
tof1ErrorMatrix(
int parID)
const {
return myTof1ErrorMatrix[parID];};
95 const Hep3Vector
tof2Position(
int parID)
const {
return myTof2Position[parID];};
97 const Hep3Vector
tof2Momentum(
int parID)
const {
return myTof2Momentum[parID];};
99 const string tof2VolumeName(
int parID)
const {
return myTof2VolumeName[parID];};
103 const double tof2(
int parID)
const {
return myTof2[parID];};
105 const double tof2Path(
int parID)
const {
return myTof2Path[parID];};
115 const HepSymMatrix
tof2ErrorMatrix(
int parID)
const {
return myTof2ErrorMatrix[parID];};
127 const Hep3Vector
emcPosition(
int parID)
const {
return myEmcPosition[parID];};
129 const Hep3Vector
emcMomentum(
int parID)
const {
return myEmcMomentum[parID];};
131 const string emcVolumeName(
int parID)
const {
return myEmcVolumeName[parID];};
139 const HepSymMatrix
emcErrorMatrix(
int parID)
const {
return myEmcErrorMatrix[parID];};
141 const double emcPath(
int parID)
const {
return myEmcPath[parID];};
155 const Hep3Vector
mucPosition(
int parID)
const {
return myMucPosition[parID];};
157 const Hep3Vector
mucMomentum(
int parID)
const {
return myMucMomentum[parID];};
159 const string mucVolumeName(
int parID)
const {
return myMucVolumeName[parID];};
171 const HepSymMatrix
mucErrorMatrix(
int parID)
const {
return myMucErrorMatrix[parID];};
175 const double MucKalchi2(
int parID)
const {
return myMucKalchi2[1];}
177 const int MucKaldof(
int parID)
const {
return myMucKaldof[1];};
179 const double MucKaldepth(
int parID)
const {
return myMucKaldepth[1];};
198 cout<<
"DstExtTrack::warning: Invalid particle number: "<<aParType<<endl;
203 void SetTof1Data(Hep3Vector aPosition,Hep3Vector aMomentum,
string aVolumeName,
204 int aVolumeNumber,
double aTof,
double aPath,HepSymMatrix aErrorMatrix,
205 double aZSigma=0.,
double aTSigma=0.,
double aXSigma=0.,
double aYSigma=0.);
207 void SetTof2Data(Hep3Vector aPosition,Hep3Vector aMomentum,
string aVolumeName,
208 int aVolumeNumber,
double aTof,
double aPath,HepSymMatrix aErrorMatrix,
209 double aZSigma=0.,
double aTSigma=0.,
double aXSigma=0.,
double aYSigma=0.);
211 void SetEmcData(Hep3Vector aPosition,Hep3Vector aMomentum,
string aVolumeName,
212 int aVolumeNumber,
double aThetaSigma,
double aPhiSigma,HepSymMatrix aErrorMatrix);
216 void SetMucData(Hep3Vector aPosition,Hep3Vector aMomentum,
string aVolumeName,
217 int aVolumeNumber,HepSymMatrix aErrorMatrix,
double aZSigma=0.,
218 double aTSigma=0.,
double aXSigma=0.,
double aYSigma=0.);
221 void SetMucKalData(
double chi2,
int dof,
double depth,
int brLastLay,
int ecLastLay,
int nhits);
235 vector<Hep3Vector> myTof1Position;
236 vector<Hep3Vector> myTof1Momentum;
237 vector<string> myTof1VolumeName;
238 int myTof1VolumeNumber[5];
240 double myTof1Path[5];
241 double myTof1PosSigmaAlongZ[5];
242 double myTof1PosSigmaAlongT[5];
243 double myTof1PosSigmaAlongX[5];
244 double myTof1PosSigmaAlongY[5];
245 vector<HepSymMatrix> myTof1ErrorMatrix;
248 vector<Hep3Vector> myTof2Position;
249 vector<Hep3Vector> myTof2Momentum;
250 vector<string> myTof2VolumeName;
251 int myTof2VolumeNumber[5];
253 double myTof2Path[5];
254 double myTof2PosSigmaAlongZ[5];
255 double myTof2PosSigmaAlongT[5];
256 double myTof2PosSigmaAlongX[5];
257 double myTof2PosSigmaAlongY[5];
258 vector<HepSymMatrix> myTof2ErrorMatrix;
261 vector<Hep3Vector> myEmcPosition;
262 vector<Hep3Vector> myEmcMomentum;
263 vector<string> myEmcVolumeName;
264 int myEmcVolumeNumber[5];
265 double myEmcPosSigmaAlongTheta[5];
266 double myEmcPosSigmaAlongPhi[5];
267 vector<HepSymMatrix> myEmcErrorMatrix;
271 vector<Hep3Vector> myMucPosition;
272 vector<Hep3Vector> myMucMomentum;
273 vector<string> myMucVolumeName;
274 int myMucVolumeNumber[5];
275 double myMucPosSigmaAlongZ[5];
276 double myMucPosSigmaAlongT[5];
277 double myMucPosSigmaAlongX[5];
278 double myMucPosSigmaAlongY[5];
279 vector<HepSymMatrix> myMucErrorMatrix;
282 double myMucKalchi2[5];
284 double myMucKaldepth[5];
285 int myMucKalbrLastLayer[5];
286 int myMucKalecLastLayer[5];
287 int myMucKalnumHits[5];
const CLID & CLID_DstExtTrack
ObjectVector< DstExtTrack > DstExtTrackCol
const double MucKaldepth(int parID) const
const Hep3Vector emcPosition() const
static const CLID & classID()
const HepSymMatrix mucErrorMatrix(int parID) const
const double MucKalchi2() const
const string tof1VolumeName(int parID) const
const double tof1Path() const
const Hep3Vector tof1Position() const
void SetTof1Data(Hep3Vector aPosition, Hep3Vector aMomentum, string aVolumeName, int aVolumeNumber, double aTof, double aPath, HepSymMatrix aErrorMatrix, double aZSigma=0., double aTSigma=0., double aXSigma=0., double aYSigma=0.)
const Hep3Vector tof1Position(int parID) const
const double mucPosSigmaAlongZ() const
const double emcPosSigmaAlongTheta() const
const double tof2Path(int parID) const
const Hep3Vector tof1Momentum(int parID) const
const int GetTrackId() const
const double MucKalchi2(int parID) const
const HepSymMatrix mucErrorMatrix() const
const double mucPosSigmaAlongT(int parID) const
const int MucKalnumHits(int parID) const
void SetTrackId(int trackId)
const Hep3Vector mucMomentum() const
void SetEmcData(Hep3Vector aPosition, Hep3Vector aMomentum, string aVolumeName, int aVolumeNumber, double aThetaSigma, double aPhiSigma, HepSymMatrix aErrorMatrix)
const double tof1PosSigmaAlongX(int parID) const
const Hep3Vector tof2Position(int parID) const
const double emcPosSigmaAlongPhi() const
const double tof2PosSigmaAlongY(int parID) const
const string tof1VolumeName() const
const int MucKalnumHits() const
const double tof2PosSigmaAlongY() const
const double mucPosSigmaAlongX() const
const HepSymMatrix tof1ErrorMatrix() const
const int tof1VolumeNumber() const
const Hep3Vector mucMomentum(int parID) const
const string emcVolumeName() const
const double tof1() const
const Hep3Vector mucPosition(int parID) const
const CLID & clID() const
const double tof1Path(int parID) const
const Hep3Vector tof2Momentum() const
const double MucKaldepth() const
const Hep3Vector tof2Momentum(int parID) const
const Hep3Vector tof1Momentum() const
const double tof2() const
const double tof2PosSigmaAlongX(int parID) const
const double tof2PosSigmaAlongZ() const
const double mucPosSigmaAlongZ(int parID) const
const int MucKalecLastLayer() const
const int mucVolumeNumber(int parID) const
const double mucPosSigmaAlongY(int parID) const
const Hep3Vector emcMomentum(int parID) const
const double tof2(int parID) const
const double tof1PosSigmaAlongT(int parID) const
const double emcPosSigmaAlongTheta(int parID) const
const HepSymMatrix emcErrorMatrix() const
void SetParType(int aParType=2)
const double tof1PosSigmaAlongZ(int parID) const
void SetTof2Data(Hep3Vector aPosition, Hep3Vector aMomentum, string aVolumeName, int aVolumeNumber, double aTof, double aPath, HepSymMatrix aErrorMatrix, double aZSigma=0., double aTSigma=0., double aXSigma=0., double aYSigma=0.)
const Hep3Vector mucPosition() const
const double tof2PosSigmaAlongT(int parID) const
const int emcVolumeNumber(int parID) const
const double mucPosSigmaAlongX(int parID) const
const double tof2PosSigmaAlongZ(int parID) const
const double tof1PosSigmaAlongY(int parID) const
const int MucKaldof(int parID) const
const double tof1PosSigmaAlongX() const
const string mucVolumeName() const
const double tof2Path() const
const HepSymMatrix tof1ErrorMatrix(int parID) const
const string mucVolumeName(int parID) const
const double tof2PosSigmaAlongT() const
const double emcPosSigmaAlongPhi(int parID) const
const string tof2VolumeName() const
const double mucPosSigmaAlongY() const
const int trackId() const
void SetMucData(Hep3Vector aPosition, Hep3Vector aMomentum, string aVolumeName, int aVolumeNumber, HepSymMatrix aErrorMatrix, double aZSigma=0., double aTSigma=0., double aXSigma=0., double aYSigma=0.)
const HepSymMatrix tof2ErrorMatrix(int parID) const
const int tof1VolumeNumber(int parID) const
void SetEmcPath(double path)
const Hep3Vector emcMomentum() const
const double tof1PosSigmaAlongY() const
const HepSymMatrix tof2ErrorMatrix() const
const double emcPath() const
const double tof1PosSigmaAlongT() const
const double mucPosSigmaAlongT() const
const int MucKalecLastLayer(int parID) const
const int MucKalbrLastLayer(int parID) const
const int tof2VolumeNumber(int parID) const
const int mucVolumeNumber() const
const HepSymMatrix emcErrorMatrix(int parID) const
const double tof2PosSigmaAlongX() const
void SetMucKalData(double chi2, int dof, double depth, int brLastLay, int ecLastLay, int nhits)
const int emcVolumeNumber() const
const Hep3Vector emcPosition(int parID) const
const double tof1PosSigmaAlongZ() const
const int tof2VolumeNumber() const
const double tof1(int parID) const
const Hep3Vector tof2Position() const
const string emcVolumeName(int parID) const
const string tof2VolumeName(int parID) const
const int MucKaldof() const
const double emcPath(int parID) const
const int MucKalbrLastLayer() const