Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4QSSParameters Class Reference

G4QSSParameters hold parameters for the QSS Integrator driver. It is used to create all QSStepper objects, directly or via the Integration Driver. Checks for consistency of the proposed values. More...

#include <G4QSSParameters.hh>

Public Member Functions

 ~G4QSSParameters ()=default
G4int GetQssOrder ()
G4double Get_dQRel ()
G4double Get_dQMin ()
G4int GetMaxSubsteps ()
G4bool SetQssOrder (G4int value, G4bool onlyWarn=false)
G4bool Set_dQRel (G4double dQRel)
G4bool Set_dQMin (G4double dQMin)
G4bool SetMaxSubsteps (G4int maxSubsteps)

Static Public Member Functions

static G4QSSParametersInstance ()

Detailed Description

G4QSSParameters hold parameters for the QSS Integrator driver. It is used to create all QSStepper objects, directly or via the Integration Driver. Checks for consistency of the proposed values.

Definition at line 48 of file G4QSSParameters.hh.

Constructor & Destructor Documentation

◆ ~G4QSSParameters()

G4QSSParameters::~G4QSSParameters ( )
default

Default Destructor.

Member Function Documentation

◆ Get_dQMin()

G4double G4QSSParameters::Get_dQMin ( )
inline

Definition at line 64 of file G4QSSParameters.hh.

64{ return fdQMin; }

Referenced by G4QSSMessenger::Get_dQMin().

◆ Get_dQRel()

G4double G4QSSParameters::Get_dQRel ( )
inline

Definition at line 63 of file G4QSSParameters.hh.

63{ return fdQRel; }

Referenced by G4QSSMessenger::Get_dQRel().

◆ GetMaxSubsteps()

G4int G4QSSParameters::GetMaxSubsteps ( )
inline

Definition at line 65 of file G4QSSParameters.hh.

65{ return fMaxSubsteps; }

Referenced by G4QSSMessenger::GetMaxSubsteps().

◆ GetQssOrder()

G4int G4QSSParameters::GetQssOrder ( )
inline

Accessors.

Definition at line 62 of file G4QSSParameters.hh.

62{ return fQssOrder; }

Referenced by G4QSSMessenger::GetQssOrder().

◆ Instance()

G4QSSParameters * G4QSSParameters::Instance ( )
static

Definition at line 44 of file G4QSSParameters.cc.

45{
46 static G4QSSParameters theQSSParametersSingleton;
47 return &theQSSParametersSingleton;
48}

Referenced by G4QSSMessenger::Get_dQMin(), G4QSSMessenger::Get_dQRel(), G4QSSMessenger::GetMaxSubsteps(), G4QSSMessenger::GetQssOrder(), and G4QSSMessenger::SetQssOrder().

◆ Set_dQMin()

G4bool G4QSSParameters::Set_dQMin ( G4double dQMin)

Definition at line 52 of file G4QSSParameters.cc.

53{
54 G4bool good_value= dQMin_smallest < value && value < dQMin_biggest;
55 if( good_value )
56 {
57 fdQMin = value;
58 //-------------
59 }
60 else
61 {
63 errmsg << " OUT of RANGE: Proposed value of dQMin is not within expected limits: "
64 << " Smallest = " << dQMin_smallest
65 << " Biggest = " << dQMin_biggest
66 << " Proposed value = " << value;
67 G4Exception("G4QSSParameters::Set_dQMin", "QSS-Parameters-0002",
68 FatalException, errmsg );
69 }
70 return good_value;
71}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
const G4double dQMin_biggest
const G4double dQMin_smallest
bool G4bool
Definition G4Types.hh:86

◆ Set_dQRel()

G4bool G4QSSParameters::Set_dQRel ( G4double dQRel)

Definition at line 75 of file G4QSSParameters.cc.

76{
77 G4bool good_value= dQRel_smallest < value && value < dQRel_biggest ;
78 if( good_value )
79 {
80 fdQRel = value;
81 //-------------
82 }
83 else
84 {
86 errmsg << " OUT of RANGE: Proposed value of dQRel is not within expected limits: "
87 << " Smallest = " << dQRel_smallest
88 << " Biggest = " << dQRel_biggest
89 << " Proposed value = " << value;
90 G4Exception("G4QSSParameters::Set_dQRel", "QSS-Parameters-0003",
91 FatalException, errmsg );
92 }
93 return good_value;
94}
const G4double dQRel_smallest
const G4double dQRel_biggest

◆ SetMaxSubsteps()

G4bool G4QSSParameters::SetMaxSubsteps ( G4int maxSubsteps)

Definition at line 119 of file G4QSSParameters.cc.

120{
121 const G4int maxSubstep_smallest= 2; // Min acceptable value
122 const G4int maxSubstep_biggest = 10000; // Maxacceptable value
123
124 G4bool good_value= false;
125 if( maxSubstep_smallest <= maxSubSteps && maxSubSteps <= maxSubstep_biggest )
126 {
127 good_value= true;
128 fMaxSubsteps = maxSubSteps;
129 }
130 else
131 {
132 G4ExceptionDescription err_msg;
133 err_msg << "Requested max-substeps for G4QSStepper= " << maxSubSteps
134 << " is not between "
135 << maxSubstep_smallest << " and " << maxSubstep_biggest;
136 G4Exception("G4QSSParameters::SetMaxSubsteps", "QSS-Parameters-0001",
137 JustWarning, err_msg );
138 }
139 return good_value;
140}
@ JustWarning
int G4int
Definition G4Types.hh:85

◆ SetQssOrder()

G4bool G4QSSParameters::SetQssOrder ( G4int value,
G4bool onlyWarn = false )

Modifiers.

Definition at line 98 of file G4QSSParameters.cc.

99{
100 G4bool good_value= false;
101 if( 2 <= order_val && order_val <= 3 )
102 {
103 good_value= true;
104 fQssOrder = order_val;
105 }
106 else
107 {
108 G4ExceptionDescription err_msg;
109 err_msg << "Requested order for G4QSStepper= "
110 << order_val << " is neither 2 nor 3.";
111 G4Exception("G4QSSParameters::SetQssOrder", "QSS-Parameters-0001",
112 onlyWarn ? JustWarning : FatalException, err_msg );
113 }
114 return good_value;
115}

Referenced by G4QSSMessenger::SetQssOrder().


The documentation for this class was generated from the following files: