Warning, file /include/celeritas/ext/detail/GeantBremsstrahlungProcess.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 #pragma once
0008
0009 #include <iosfwd>
0010 #include <G4ParticleDefinition.hh>
0011 #include <G4VEnergyLossProcess.hh>
0012
0013 #include "../GeantPhysicsOptions.hh"
0014
0015 namespace celeritas
0016 {
0017 namespace detail
0018 {
0019
0020
0021
0022
0023
0024
0025 class GeantBremsstrahlungProcess : public G4VEnergyLossProcess
0026 {
0027 public:
0028
0029
0030 using Energy = units::MevEnergy;
0031 using ModelSelection = BremsModelSelection;
0032
0033
0034 public:
0035
0036 GeantBremsstrahlungProcess(ModelSelection selection,
0037 double seltzer_berger_limit);
0038
0039
0040 bool IsApplicable(G4ParticleDefinition const& particle) final;
0041
0042 void ProcessDescription(std::ostream&) const override;
0043
0044 protected:
0045
0046 void InitialiseEnergyLossProcess(G4ParticleDefinition const*,
0047 G4ParticleDefinition const*) override;
0048
0049 void StreamProcessInfo(std::ostream& output) const override;
0050
0051 private:
0052 bool is_initialized_{false};
0053 ModelSelection model_selection_;
0054 double sb_limit_;
0055 };
0056
0057
0058 }
0059 }