36#ifndef G4SynchrotronRadiation_h
37#define G4SynchrotronRadiation_h 1
67 const G4Step& Step)
override;
104 G4double y2 = 2.0 * (y = (2.0 * x - a - b) / (b - a));
106 for(
G4int j =
n - 1; j >= 1; --j)
109 d = y2 * d - dd + c[j];
112 return y * d - dd + 0.5 * c[0];
G4double condition(const G4ErrorSymMatrix &m)
G4GLOB_DLL std::ostream G4cout
G4double GetPhotonEnergy(const G4Track &trackData, const G4Step &stepData)
G4LossTableManager * theManager
G4SynchrotronRadiation(const G4SynchrotronRadiation &)=delete
void SetAngularGenerator(G4VEmAngularDistribution *p)
virtual G4double GetMeanFreePath(const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) override
G4SynchrotronRadiation(const G4String &pName="SynRad", G4ProcessType type=fElectromagnetic)
G4double GetRandomEnergySR(G4double, G4double, G4double)
virtual ~G4SynchrotronRadiation()
void ProcessDescription(std::ostream &) const override
G4double Chebyshev(G4double a, G4double b, const G4double c[], G4int n, G4double x)
virtual void BuildPhysicsTable(const G4ParticleDefinition &) override
virtual G4bool IsApplicable(const G4ParticleDefinition &) override
G4ParticleDefinition * theGamma
virtual G4VParticleChange * PostStepDoIt(const G4Track &track, const G4Step &Step) override
G4SynchrotronRadiation & operator=(const G4SynchrotronRadiation &right)=delete
G4VEmAngularDistribution * genAngle
G4PropagatorInField * fFieldPropagator
G4double InvSynFracInt(G4double x)
void DumpInfo() const override