55 #ifndef QweakSimWentzelVIModel_h
56 #define QweakSimWentzelVIModel_h 1
60 #include "G4VMscModel.hh"
61 #include "G4MaterialCutsCouple.hh"
62 #include "G4WentzelOKandVIxSection.hh"
64 class G4ParticleDefinition;
65 class G4LossTableManager;
78 virtual void Initialise(
const G4ParticleDefinition*,
const G4DataVector&);
83 G4double KineticEnergy,
84 G4double AtomicNumber,
85 G4double AtomicWeight=0.,
86 G4double cut = DBL_MAX,
87 G4double emax= DBL_MAX);
93 G4double& currentMinimalStep);
178 SetCurrentCouple(cup);
191 wokvi->SetupParticle(p);
virtual G4ThreeVector & SampleScattering(const G4ThreeVector &, G4double safety)
virtual G4double ComputeTruePathLengthLimit(const G4Track &track, G4double ¤tMinimalStep)
G4WentzelOKandVIxSection * GetWVICrossSection()
G4double ComputeXSectionPerVolume()
G4double GetFixedCut() const
std::vector< G4double > prob
void StartTracking(G4Track *)
G4int currentMaterialIndex
virtual G4double ComputeGeomPathLength(G4double truePathLength)
const G4DataVector * currentCuts
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double KineticEnergy, G4double AtomicNumber, G4double AtomicWeight=0., G4double cut=DBL_MAX, G4double emax=DBL_MAX)
G4LossTableManager * theManager
virtual G4double ComputeTrueStepLength(G4double geomStepLength)
const G4MaterialCutsCouple * currentCouple
std::vector< G4double > xsecn
G4bool singleScatteringMode
void SetupParticle(const G4ParticleDefinition *)
G4ThreeVector polarization
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
const G4Material * currentMaterial
void DefineMaterial(const G4MaterialCutsCouple *)
void SetFixedCut(G4double)
const G4ParticleDefinition * particle
virtual ~QweakSimWentzelVIModel()
QweakSimWentzelVIModel & operator=(const QweakSimWentzelVIModel &right)
G4ParticleChangeForMSC * fParticleChange
QweakSimWentzelVIModel(const G4String &nam="WentzelVIUni")
G4WentzelOKandVIxSection * wokvi