44 #ifndef CEXMC_PHYSICS_LIST_HH 45 #define CEXMC_PHYSICS_LIST_HH 49 #include <G4StepPoint.hh> 60 template <
typename BasePhysics,
template <
typename >
class StudiedPhysics,
61 typename ProductionModel >
73 const G4StepPoint * stepPoint );
89 template <
typename BasePhysics,
template <
typename >
class StudiedPhysics,
90 typename ProductionModel >
99 template <
typename BasePhysics,
template <
typename >
class StudiedPhysics,
100 typename ProductionModel >
109 template <
typename BasePhysics,
template <
typename >
class StudiedPhysics,
110 typename ProductionModel >
118 template <
typename BasePhysics,
template <
typename >
class StudiedPhysics,
119 typename ProductionModel >
122 const G4StepPoint * stepPoint )
130 static_cast< CexmcIncidentParticleTrackInfo * >(
131 track->GetUserInformation() ) );
143 stepPoint->GetMomentumDirection() );
149 track->GetMomentumDirection() );
161 template <
typename BasePhysics,
template <
typename >
class StudiedPhysics,
162 typename ProductionModel >
173 template <
typename BasePhysics,
template <
typename >
class StudiedPhysics,
174 typename ProductionModel >
void SetFinalTrackLengthInTarget(G4double value)
G4int numberOfTriggeredStudiedInteractions
void SetNeedsTrackLengthResampling(G4bool on=true)
void ResetCurrentTrackLengthInTarget(void)
CLHEP::Hep3Vector G4ThreeVector
CexmcProductionModel * GetProductionModel(void)
const G4LogicalVolume * GetVolume(SpecialVolumeType volume) const
void ResampleTrackLengthInTarget(const G4Track *track, const G4StepPoint *stepPoint)
void CalculateBasicMaxIL(const G4ThreeVector &direction)
G4bool IsStudiedProcessAllowed(void) const
G4AffineTransform targetTransform
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
const G4AffineTransform & GetTargetTransform(void) const
void SetupConstructionHook(const CexmcSetup *setup)
G4VSolid * GetSolid() const
StudiedPhysics< ProductionModel > * studiedPhysics