Warning, file /include/Geant4/G4TransitionRadiation.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042 #ifndef G4TransitionRadiation_h
0043 #define G4TransitionRadiation_h
0044
0045 #include "globals.hh"
0046 #include "G4ParticleDefinition.hh"
0047 #include "G4Step.hh"
0048 #include "G4Track.hh"
0049 #include "G4VDiscreteProcess.hh"
0050 #include "G4VParticleChange.hh"
0051
0052 class G4TransitionRadiation : public G4VDiscreteProcess
0053 {
0054 public:
0055 explicit G4TransitionRadiation(const G4String& processName = "TR",
0056 G4ProcessType type = fElectromagnetic);
0057
0058 virtual ~G4TransitionRadiation();
0059
0060 G4TransitionRadiation(const G4TransitionRadiation& right) = delete;
0061 G4TransitionRadiation& operator=(const G4TransitionRadiation& right) = delete;
0062
0063
0064
0065 G4bool IsApplicable(const G4ParticleDefinition& aParticleType) override;
0066
0067 virtual G4double GetMeanFreePath(const G4Track&, G4double,
0068 G4ForceCondition* condition) override;
0069
0070 virtual G4VParticleChange* PostStepDoIt(const G4Track&,
0071 const G4Step&) override;
0072
0073 virtual void ProcessDescription(std::ostream&) const override;
0074 virtual void DumpInfo() const override { ProcessDescription(G4cout); };
0075
0076 virtual G4double SpectralAngleTRdensity(G4double energy,
0077 G4double varAngle) const = 0;
0078
0079 G4double IntegralOverEnergy(G4double energy1, G4double energy2,
0080 G4double varAngle) const;
0081
0082 G4double IntegralOverAngle(G4double energy, G4double varAngle1,
0083 G4double varAngle2) const;
0084
0085 G4double AngleIntegralDistribution(G4double varAngle1,
0086 G4double varAngle2) const;
0087
0088 G4double EnergyIntegralDistribution(G4double energy1, G4double energy2) const;
0089
0090 protected:
0091
0092
0093 static constexpr G4int fSympsonNumber = 100;
0094 static constexpr G4int fGammaNumber = 15;
0095 static constexpr G4int fPointNumber = 100;
0096
0097 G4double fGamma;
0098 G4double fEnergy;
0099 G4double fVarAngle;
0100
0101 G4double fMinEnergy;
0102 G4double fMaxEnergy;
0103 G4double fMaxTheta;
0104
0105 G4double fSigma1;
0106 G4double fSigma2;
0107
0108 G4int fMatIndex1;
0109 G4int fMatIndex2;
0110 };
0111
0112 #endif