49 #ifndef G4UniversalFluctuation_h
50 #define G4UniversalFluctuation_h 1
147 if(p > 0) { eloss += ((p + 1) - 2.*rndm->
flat())*ex; }
159 x += (2.*rndm->
flat() - 1.)*eav;
163 }
while (x < 0.0 || x > 2*eav);
virtual void InitialiseMe(const G4ParticleDefinition *) final
std::vector< ExP01TrackerHit * > a
const G4Material * lastMaterial
virtual G4double Dispersion(const G4Material *, const G4DynamicParticle *, G4double, G4double) override
virtual G4double SampleFluctuations(const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double) override
G4UniversalFluctuation & operator=(const G4UniversalFluctuation &right)=delete
void AddExcitation(CLHEP::HepRandomEngine *rndm, G4double a, G4double e, G4double &eav, G4double &eloss, G4double &esig2)
G4double m_Inv_particleMass
G4double minNumberInteractionsBohr
virtual void SetParticleAndCharge(const G4ParticleDefinition *, G4double q2) final
ThreeVector shoot(const G4int Ap, const G4int Af)
virtual ~G4UniversalFluctuation()
const G4ParticleDefinition * particle
void SampleGauss(CLHEP::HepRandomEngine *rndm, G4double eav, G4double esig2, G4double &eloss)
G4UniversalFluctuation(const G4String &nam="UniFluc")
G4long G4Poisson(G4double mean)