G4VEmFluctuationModel
Abstract class for interface to simualtion of energy loss fluctuations
class
public:
explicit G4VEmFluctuationModel(const G4String& nam);
virtual ~G4VEmFluctuationModel();
//------------------------------------------------------------------------
// Virtual methods to be implemented for the concrete model
//------------------------------------------------------------------------
virtual G4double SampleFluctuations(const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmax,
G4double length,
G4double meanLoss) = 0;
virtual G4double Dispersion(const G4Material*,
const G4DynamicParticle*,
G4double tmax,
G4double length) = 0;
//------------------------------------------------------------------------
// Methods with standard implementation; may be overwritten if needed
//------------------------------------------------------------------------
virtual void InitialiseMe(const G4ParticleDefinition*);
virtual void SetParticleAndCharge(const G4ParticleDefinition*, G4double q2);
//------------------------------------------------------------------------
// Generic methods common to all models
//------------------------------------------------------------------------
inline const G4String& GetName() const;
private:
// hide assignment operator
G4VEmFluctuationModel &
operator=(const G4VEmFluctuationModel &right) = delete;
G4VEmFluctuationModel(const G4VEmFluctuationModel&) = delete;