66 #include "StThreeVectorF.hh"
67 #include "tables/St_g2t_hits_Table.h"
68 #include "StMcTrack.hh"
75 StMcHit() : mPosition(0,0,0), mLocalMomentum(0,0,0), mdE(0),mdS(0),mTof(0),mKey(0),mVolumeId(0),mParentTrack(0) {}
77 Float_t de, Float_t ds, Float_t
tof, Long_t k, Long_t volId,
StMcTrack* parent=0)
78 : mPosition(x), mLocalMomentum(p), mdE(de), mdS(ds), mTof(tof), mKey(k), mVolumeId(volId), mParentTrack(parent) {}
79 StMcHit(g2t_hits_st* pt) : mPosition(pt->x[0],pt->x[1],pt->x[2]), mLocalMomentum(pt->p[0],pt->p[1],pt->p[2]),
80 mdE(pt->de), mdS(pt->ds), mTof(pt->tof), mKey(pt->id), mVolumeId(0),
86 Int_t operator==(
const StMcHit& h)
const;
87 Int_t operator!=(
const StMcHit& h)
const {
return !(*
this == h); }
91 virtual const StThreeVectorF& position()
const {
return mPosition;}
92 virtual const StThreeVectorF& localMomentum()
const {
return mLocalMomentum;}
93 virtual Float_t dE()
const {
return mdE; }
94 virtual Float_t dS()
const {
return mdS; }
95 virtual Float_t tof()
const {
return mTof; }
96 virtual Long_t key()
const {
return mKey; }
97 virtual Long_t volumeId()
const {
return mVolumeId; }
98 virtual StMcTrack* parentTrack()
const {
return mParentTrack; }
101 virtual void setPosition(
const StThreeVectorF& val) { mPosition = val; }
102 virtual void setLocalMomentum(
const StThreeVectorF& val) { mLocalMomentum = val; }
103 virtual void setdE(Float_t val) { mdE = val;}
104 virtual void setdS(Float_t val) { mdS = val;}
105 virtual void setTof(Float_t tof) { mTof = tof;}
106 virtual void setKey(Long_t val) { mKey = val;}
107 virtual void setVolumeId(Long_t val) { mVolumeId = val; }
108 virtual void setParentTrack(
StMcTrack* val) { mParentTrack = val; }
109 virtual void Print(Option_t *option=
"")
const;
122 ostream& operator<<(ostream& os,
const StMcHit&);
Monte Carlo Track class All information on a simulated track is stored in this class: kinematics...