00001 #ifndef BDSParticle_h
00002 #define BDSParticle_h
00003
00004
00005 #include "G4ThreeVector.hh"
00006 #include "G4Types.hh"
00007
00018 class BDSParticle {
00019
00020 public:
00021 BDSParticle();
00022 BDSParticle(G4double x,G4double y,G4double z,G4double xp,G4double yp,G4double zp,G4double E,G4double t=0.0,G4double weight=1.,G4int trackID=-1,G4int parentID=-1);
00023 BDSParticle(G4ThreeVector pos,G4ThreeVector mom,G4double E,G4double t=0.0,G4double weight=1.,G4int trackID=-1,G4int parentID=-1);
00024
00025 private:
00027 G4ThreeVector itsPosition;
00029 G4ThreeVector itsMomentum;
00031 G4double itsE;
00033 G4double itsT;
00034
00036 G4double itsWeight;
00038 G4int itsTrackID;
00040 G4int itsParentID;
00041
00042 public:
00043 G4double GetX()const{return itsPosition.x();}
00044 G4double GetY()const{return itsPosition.y();}
00045 G4double GetZ()const{return itsPosition.z();}
00046 G4double GetXp()const{return itsMomentum.x();}
00047 G4double GetYp()const{return itsMomentum.y();}
00048 G4double GetZp()const{return itsMomentum.z();}
00049
00050 G4double GetEnergy()const{return itsE;}
00051 G4double GetTime()const{return itsT;}
00052 G4double GetWeight()const{return itsWeight;}
00053
00054 G4int GetTrackID()const{return itsTrackID;}
00055 G4int GetParentID()const{return itsParentID;}
00056
00057 };
00058
00059 #endif