1#ifndef TG4_STEP_MANAGER_H
2#define TG4_STEP_MANAGER_H
22#include <G4GFlashSpot.hh>
24#include <G4SteppingManager.hh>
25#include <G4ThreeVector.hh>
26#include <G4TransportationManager.hh>
27#include <G4VTouchable.hh>
31#include <TMCProcess.h>
39class G4SteppingManager;
40class G4VPhysicalVolume;
44struct TMCParticleStatus;
100 Float_t& a, Float_t& z, Float_t& dens, Float_t& radl, Float_t& absl)
const;
102 void Gmtod(Double_t* xm, Double_t* xd, Int_t iflag);
103 void Gmtod(Float_t* xm, Float_t* xd, Int_t iflag);
104 void Gdtom(Double_t* xd, Double_t* xm, Int_t iflag);
105 void Gdtom(Float_t* xd, Float_t* xm, Int_t iflag);
112 void TrackPosition(Double_t& x, Double_t& y, Double_t& z)
const;
113 void TrackPosition(Float_t& x, Float_t& y, Float_t& z)
const;
116 Double_t& px, Double_t& py, Double_t& pz, Double_t& etot)
const;
118 Float_t& px, Float_t& py, Float_t& pz, Float_t& etot)
const;
122 Double_t
Edep()
const;
132 Double_t
Etot()
const;
146 void GetSecondary(Int_t index, Int_t& particleId, TLorentzVector& position,
147 TLorentzVector& momentum);
159 void CheckStep(
const G4String& method)
const;
163 G4ThreeVector xyz, G4double t, TLorentzVector& lv)
const;
166 G4int off, G4bool warn =
false)
const;
241 const_cast<G4Track*
>(gflashSpot->GetOriginatorTrack()->GetPrimaryTrack());
257 G4TransportationManager::GetTransportationManager()
258 ->GetNavigatorForTracking());
Definition of the enumeration TG4StepStatus.
Extended G4UserLimits class.
Geant4 implementation of the TVirtualMC interface methods for access to Geant4 at step level.
const char * CurrentVolPath()
G4Track * fTrack
current track
Int_t CurrentMaterial(Float_t &a, Float_t &z, Float_t &dens, Float_t &radl, Float_t &absl) const
Int_t StepProcesses(TArrayI &proc) const
TMCProcess ProdProcess(Int_t isec) const
G4int fDivisionCopyNoOffset
division copy number offset
Int_t CurrentVolOffID(Int_t off, Int_t ©No) const
void TrackMomentum(TLorentzVector &momentum) const
const char * CurrentVolOffName(Int_t off) const
Bool_t IsTrackStop() const
void SetSteppingManager(G4SteppingManager *manager)
Bool_t IsTrackDisappeared() const
Bool_t IsTrackEntering() const
Double_t TrackStep() const
TG4StepManager(const TString &userGeometry)
G4Track * GetTrack() const
Double_t TrackTime() const
void SetMaxNStep(Int_t maxNofSteps)
const char * CurrentVolName() const
G4String fNameBuffer
buffer for current volume name or path
void GetSecondary(Int_t index, Int_t &particleId, TLorentzVector &position, TLorentzVector &momentum)
G4SteppingManager * fSteppingManager
G4SteppingManager.
TG4Limits * GetCurrentLimits() const
Double_t TrackMass() const
Int_t NSecondaries() const
Double_t NIELEdep() const
void CheckGflashSpot(const G4String &method) const
Bool_t CurrentBoundaryNormal(Double_t &x, Double_t &y, Double_t &z) const
Double_t TrackWeight() const
G4GFlashSpot * fGflashSpot
current Gflash spot
TG4TrackManager * fTrackManager
Cached pointer to thread-local track manager.
static TG4StepManager * Instance()
TG4StepStatus fStepStatus
step status
const G4VTouchable * GetCurrentTouchable() const
Int_t CurrentVolID(Int_t ©No) const
Bool_t IsTrackAlive() const
void CheckSteppingManager() const
TG4StepStatus GetStepStatus() const
TG4StepManager(const TG4StepManager &right)
Not implemented.
Double_t TrackCharge() const
Int_t CurrentMedium() const
Double_t TrackLength() const
Bool_t IsTrackInside() const
static G4ThreadLocal TG4StepManager * fgInstance
this instance
Bool_t IsCollectTracks() const
void Gdtom(Double_t *xd, Double_t *xm, Int_t iflag)
G4int fCopyNoOffset
volume copy number offset
Bool_t IsNewTrack() const
void SetStep(G4Step *step, TG4StepStatus status)
Bool_t IsTrackOut() const
void CheckStep(const G4String &method) const
G4VPhysicalVolume * GetCurrentPhysicalVolume() const
TG4Limits * fLimitsModifiedOnFly
limits which step limit was modified during tracking
void SetTLorentzVector(G4ThreeVector xyz, G4double t, TLorentzVector &lv) const
TG4Limits * GetLimitsModifiedOnFly() const
Bool_t IsTrackExiting() const
void Gmtod(Double_t *xm, Double_t *xd, Int_t iflag)
TMCParticleStatus * fInitialVMCTrackStatus
The initial status of a VMC track when it was popped from the VMC stack.
void SetCollectTracks(Bool_t collectTracks)
void ForceDecayTime(Float_t pdg)
G4Step * fStep
current step
void TrackPolarization(Double_t &polX, Double_t &polY, Double_t &polZ) const
Int_t GetMaxNStep() const
G4VPhysicalVolume * GetCurrentOffPhysicalVolume(G4int off, G4bool warn=false) const
TG4StepManager & operator=(const TG4StepManager &right)
Not implemented.
void TrackPosition(TLorentzVector &position) const
void SetInitialVMCTrackStatus(TMCParticleStatus *status)
void SetMaxStep(Double_t step)
The class for storing G4 tracks in VMC sack.
TG4StepStatus
Step status enumeration.