55 #ifndef G4WentzelVIModel_h
56 #define G4WentzelVIModel_h 1
72 const G4String& nam =
"WentzelVIUni");
96 G4double& currentMinimalStep)
override;
185 G4int minNCollisions;
187 std::vector<G4double> xsecn;
188 std::vector<G4double> prob;
251 useSecondMoment = val;
258 return useSecondMoment;
265 return fSecondMoments;
276 if(useSecondMoment) {
283 x = ComputeSecondMoment(part, ekin);
G4double GetFixedCut() const
virtual ~G4WentzelVIModel()
void SetSingleScatteringFactor(G4double)
void SetupParticle(const G4ParticleDefinition *)
G4WentzelOKandVIxSection * wokvi
virtual G4double ComputeGeomPathLength(G4double truePathLength) override
G4bool singleScatteringMode
void DefineMaterial(const G4MaterialCutsCouple *)
const G4MaterialCutsCouple * currentCouple
virtual G4double ComputeTruePathLengthLimit(const G4Track &track, G4double ¤tMinimalStep) override
const G4Material * currentMaterial
G4WentzelVIModel(G4bool comb=true, const G4String &nam="WentzelVIUni")
G4double SecondMoment(const G4ParticleDefinition *, const G4MaterialCutsCouple *, G4double kineticEnergy)
G4bool UseSecondMoment() const
static const G4double emax
void SetCurrentCouple(const G4MaterialCutsCouple *)
G4PhysicsTable * GetSecondMomentTable()
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double KineticEnergy, G4double AtomicNumber, G4double AtomicWeight=0., G4double cut=DBL_MAX, G4double emax=DBL_MAX) override
const G4ParticleDefinition * particle
virtual G4ThreeVector & SampleScattering(const G4ThreeVector &, G4double safety) override
virtual G4double ComputeTrueStepLength(G4double geomStepLength) override
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
virtual void StartTracking(G4Track *) override
void SetUseSecondMoment(G4bool)
void SetFixedCut(G4double)
G4int currentMaterialIndex
G4WentzelOKandVIxSection * GetWVICrossSection()
virtual void InitialiseLocal(const G4ParticleDefinition *, G4VEmModel *masterModel) override
const G4Material * GetMaterial() const