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

#include <G4PhysicsVector.hh>

+ Inheritance diagram for G4PhysicsVector:

Public Member Functions

 G4PhysicsVector (G4bool spline=false)
 
 G4PhysicsVector (const G4PhysicsVector &)=default
 
G4PhysicsVectoroperator= (const G4PhysicsVector &)=default
 
 G4PhysicsVector (const G4PhysicsVector &&)=delete
 
G4PhysicsVectoroperator= (const G4PhysicsVector &&)=delete
 
G4bool operator== (const G4PhysicsVector &right) const =delete
 
G4bool operator!= (const G4PhysicsVector &right) const =delete
 
virtual ~G4PhysicsVector ()=default
 
G4double Value (const G4double energy, std::size_t &lastidx) const
 
G4double Value (const G4double energy) const
 
G4double GetValue (const G4double energy, G4bool &isOutRange) const
 
G4double LogVectorValue (const G4double energy, const G4double theLogEnergy) const
 
G4double LogFreeVectorValue (const G4double energy, const G4double theLogEnergy) const
 
G4double operator[] (const std::size_t index) const
 
G4double operator() (const std::size_t index) const
 
void PutValue (const std::size_t index, const G4double value)
 
G4double Energy (const std::size_t index) const
 
G4double GetLowEdgeEnergy (const std::size_t index) const
 
G4double GetMinEnergy () const
 
G4double GetMaxEnergy () const
 
G4double GetMinValue () const
 
G4double GetMaxValue () const
 
std::size_t GetVectorLength () const
 
std::size_t ComputeLogVectorBin (const G4double logenergy) const
 
G4PhysicsVectorType GetType () const
 
G4bool GetSpline () const
 
void SetVerboseLevel (G4int value)
 
G4double FindLinearEnergy (const G4double rand) const
 
std::size_t FindBin (const G4double energy, std::size_t idx) const
 
void ScaleVector (const G4double factorE, const G4double factorV)
 
void FillSecondDerivatives (const G4SplineType=G4SplineType::Base, const G4double dir1=0.0, const G4double dir2=0.0)
 
G4double GetEnergy (const G4double value) const
 
G4bool Store (std::ofstream &fOut, G4bool ascii=false) const
 
G4bool Retrieve (std::ifstream &fIn, G4bool ascii=false)
 
void DumpValues (G4double unitE=1.0, G4double unitV=1.0) const
 

Protected Member Functions

virtual void Initialise ()
 
void PrintPutValueError (std::size_t index, G4double value, const G4String &text)
 

Protected Attributes

G4double edgeMin = 0.0
 
G4double edgeMax = 0.0
 
G4double invdBin = 0.0
 
G4double logemin = 0.0
 
G4double iBin1 = 0.0
 
G4double lmin1 = 0.0
 
G4int verboseLevel = 0
 
std::size_t idxmax = 0
 
std::size_t imax1 = 0
 
std::size_t numberOfNodes = 0
 
std::size_t nLogNodes = 0
 
G4PhysicsVectorType type = T_G4PhysicsFreeVector
 
std::vector< G4doublebinVector
 
std::vector< G4doubledataVector
 
std::vector< G4doublesecDerivative
 
std::vector< std::size_t > scale
 

Friends

std::ostream & operator<< (std::ostream &out, const G4PhysicsVector &pv)
 

Detailed Description

Definition at line 54 of file G4PhysicsVector.hh.

Constructor & Destructor Documentation

◆ G4PhysicsVector() [1/3]

G4PhysicsVector::G4PhysicsVector ( G4bool spline = false)
explicit

Definition at line 39 of file G4PhysicsVector.cc.

40 : useSpline(val)
41{}

◆ G4PhysicsVector() [2/3]

G4PhysicsVector::G4PhysicsVector ( const G4PhysicsVector & )
default

◆ G4PhysicsVector() [3/3]

G4PhysicsVector::G4PhysicsVector ( const G4PhysicsVector && )
delete

◆ ~G4PhysicsVector()

virtual G4PhysicsVector::~G4PhysicsVector ( )
virtualdefault

Member Function Documentation

◆ ComputeLogVectorBin()

std::size_t G4PhysicsVector::ComputeLogVectorBin ( const G4double logenergy) const
inline

◆ DumpValues()

void G4PhysicsVector::DumpValues ( G4double unitE = 1.0,
G4double unitV = 1.0 ) const

Definition at line 165 of file G4PhysicsVector.cc.

166{
167 for (std::size_t i = 0; i < numberOfNodes; ++i)
168 {
169 G4cout << binVector[i] / unitE << " " << dataVector[i] / unitV
170 << G4endl;
171 }
172}
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
std::size_t numberOfNodes
std::vector< G4double > dataVector
std::vector< G4double > binVector

Referenced by G4OpWLS2::DumpPhysicsTable(), G4OpWLS::DumpPhysicsTable(), and FillSecondDerivatives().

◆ Energy()

G4double G4PhysicsVector::Energy ( const std::size_t index) const
inline

Referenced by G4MaterialPropertiesTable::AddEntry(), G4MaterialPropertiesTable::AddProperty(), G4SPSEneDistribution::ArbInterpolate(), G4DiffuseElasticV2::BuildAngleTable(), G4KokoulinMuonNuclearXS::BuildCrossSectionTable(), G4LossTableBuilder::BuildInverseRangeTable(), G4Cerenkov::BuildPhysicsTable(), G4OpWLS2::BuildPhysicsTable(), G4OpWLS::BuildPhysicsTable(), G4Scintillation::BuildPhysicsTable(), G4LossTableBuilder::BuildRangeTable(), G4PenelopeBremsstrahlungFS::BuildScaledXSTable(), G4LossTableBuilder::BuildTableForModel(), G4AdjointCSManager::BuildTotalSigmaTables(), G4JAEAElasticScatteringModel::ComputeCrossSectionPerAtom(), G4JAEAPolarizedElasticScatteringModel::ComputeCrossSectionPerAtom(), G4LivermoreComptonModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedComptonModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedRayleighModel::ComputeCrossSectionPerAtom(), G4LivermoreRayleighModel::ComputeCrossSectionPerAtom(), G4LowEPComptonModel::ComputeCrossSectionPerAtom(), G4LowEPPolarizedComptonModel::ComputeCrossSectionPerAtom(), G4PAIModelData::CrossSectionPerVolume(), G4PAIPhotData::CrossSectionPerVolume(), G4PenelopeRayleighModelMI::CrossSectionPerVolume(), G4PAIModelData::DEDXPerVolume(), G4PAIPhotData::DEDXPerVolume(), G4EmModelManager::DumpModelList(), G4EmModelManager::FillDEDXVector(), G4EmModelManager::FillLambdaVector(), G4EmUtility::FillPeaksStructure(), G4EmUtility::FindCrossSectionMax(), G4HadElementSelector::G4HadElementSelector(), G4LivermorePhotoElectricModel::GetBindingEnergy(), G4PAIPhotData::GetPlasmonRatio(), G4DNABornExcitationModel2::Initialise(), G4eeToHadronsModel::Initialise(), G4eplusTo2GammaOKVIModel::Initialise(), G4HadronXSDataTable::Initialise(), G4PAIModelData::Initialise(), G4PAIPhotData::Initialise(), G4WentzelVIModel::Initialise(), G4NeutronCaptureXS::IsoCrossSection(), G4Cerenkov::PostStepDoIt(), G4GDMLWriteMaterials::PropertyVectorWrite(), G4PAIPhotData::SampleAlongStepPhotonTransfer(), G4PAIPhotData::SampleAlongStepPlasmonTransfer(), G4PAIModelData::SampleAlongStepTransfer(), G4PAIPhotData::SampleAlongStepTransfer(), G4PAIPhotData::SamplePostStepPhotonTransfer(), G4PAIPhotData::SamplePostStepPlasmonTransfer(), G4PAIModelData::SamplePostStepTransfer(), G4PAIPhotData::SamplePostStepTransfer(), and G4DiffuseElasticV2::SampleTableThetaCMS().

◆ FillSecondDerivatives()

void G4PhysicsVector::FillSecondDerivatives ( const G4SplineType stype = G4SplineType::Base,
const G4double dir1 = 0.0,
const G4double dir2 = 0.0 )

Definition at line 207 of file G4PhysicsVector.cc.

210{
211 if (!useSpline) { return; }
212 // cannot compute derivatives for less than 5 points
213 const std::size_t nmin = (stype == G4SplineType::Base) ? 5 : 4;
214 if (nmin > numberOfNodes)
215 {
216 if (0 < verboseLevel)
217 {
218 G4cout << "### G4PhysicsVector: spline cannot be used for "
219 << numberOfNodes << " points - spline disabled"
220 << G4endl;
221 DumpValues();
222 }
223 useSpline = false;
224 return;
225 }
226 // check energies of free vector
228 {
229 for (std::size_t i=0; i<=idxmax; ++i)
230 {
231 if (binVector[i + 1] <= binVector[i])
232 {
233 if (0 < verboseLevel)
234 {
235 G4cout << "### G4PhysicsVector: spline cannot be used, because "
236 << " E[" << i << "]=" << binVector[i]
237 << " >= E[" << i+1 << "]=" << binVector[i + 1]
238 << G4endl;
239 DumpValues();
240 }
241 useSpline = false;
242 return;
243 }
244 }
245 }
246
247 // spline is possible
248 Initialise();
250
251 if (1 < verboseLevel)
252 {
253 G4cout << "### G4PhysicsVector:: FillSecondDerivatives N="
254 << numberOfNodes << G4endl;
255 DumpValues();
256 }
257
258 switch(stype)
259 {
261 ComputeSecDerivative1();
262 break;
263
265 ComputeSecDerivative2(dir1, dir2);
266 break;
267
268 default:
269 ComputeSecDerivative0();
270 }
271}
@ T_G4PhysicsFreeVector
G4PhysicsVectorType type
std::vector< G4double > secDerivative
virtual void Initialise()
void DumpValues(G4double unitE=1.0, G4double unitV=1.0) const

Referenced by G4EmTableUtil::BuildDEDXTable(), G4EmTableUtil::BuildLambdaTable(), G4EmTableUtil::BuildLambdaTable(), G4LossTableBuilder::BuildRangeTable(), G4LossTableBuilder::BuildTableForModel(), G4eplusTo2GammaOKVIModel::Initialise(), G4HadronXSDataTable::Initialise(), G4WentzelVIModel::Initialise(), G4PenelopeBremsstrahlungAngular::PrepareTables(), and G4ExtDEDXTable::RetrievePhysicsTable().

◆ FindBin()

◆ FindLinearEnergy()

G4double G4PhysicsVector::FindLinearEnergy ( const G4double rand) const
inline

◆ GetEnergy()

G4double G4PhysicsVector::GetEnergy ( const G4double value) const

Definition at line 433 of file G4PhysicsVector.cc.

434{
435 if (0 == numberOfNodes)
436 {
437 return 0.0;
438 }
439 if (1 == numberOfNodes || val <= dataVector[0])
440 {
441 return edgeMin;
442 }
443 if (val >= dataVector[numberOfNodes - 1])
444 {
445 return edgeMax;
446 }
447 std::size_t bin = std::lower_bound(dataVector.cbegin(), dataVector.cend(), val)
448 - dataVector.cbegin() - 1;
449 if (bin > idxmax) { bin = idxmax; }
450 G4double res = binVector[bin];
451 G4double del = dataVector[bin + 1] - dataVector[bin];
452 if (del > 0.0)
453 {
454 res += (val - dataVector[bin]) * (binVector[bin + 1] - res) / del;
455 }
456 return res;
457}
double G4double
Definition G4Types.hh:83

Referenced by G4SPSRandomGenerator::GenRandEnergy(), G4SPSRandomGenerator::GenRandPhi(), G4SPSRandomGenerator::GenRandPosPhi(), G4SPSRandomGenerator::GenRandPosTheta(), G4SPSRandomGenerator::GenRandTheta(), G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), G4SPSRandomGenerator::GenRandZ(), G4OpWLS2::PostStepDoIt(), G4OpWLS::PostStepDoIt(), and G4Scintillation::PostStepDoIt().

◆ GetLowEdgeEnergy()

G4double G4PhysicsVector::GetLowEdgeEnergy ( const std::size_t index) const
inline

◆ GetMaxEnergy()

◆ GetMaxValue()

◆ GetMinEnergy()

G4double G4PhysicsVector::GetMinEnergy ( ) const
inline

◆ GetMinValue()

G4double G4PhysicsVector::GetMinValue ( ) const
inline

◆ GetSpline()

G4bool G4PhysicsVector::GetSpline ( ) const
inline

◆ GetType()

G4PhysicsVectorType G4PhysicsVector::GetType ( ) const
inline

◆ GetValue()

◆ GetVectorLength()

std::size_t G4PhysicsVector::GetVectorLength ( ) const
inline

Referenced by G4MaterialPropertiesTable::AddEntry(), G4MaterialPropertiesTable::AddProperty(), G4LossTableBuilder::BuildDEDXTable(), G4LossTableBuilder::BuildInverseRangeTable(), G4Cerenkov::BuildPhysicsTable(), G4OpWLS2::BuildPhysicsTable(), G4OpWLS::BuildPhysicsTable(), G4Scintillation::BuildPhysicsTable(), G4LossTableBuilder::BuildRangeTable(), G4PenelopeIonisationXSHandler::BuildXSTable(), G4JAEAElasticScatteringModel::ComputeCrossSectionPerAtom(), G4JAEAPolarizedElasticScatteringModel::ComputeCrossSectionPerAtom(), G4LivermoreComptonModel::ComputeCrossSectionPerAtom(), G4LivermoreNuclearGammaConversionModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedComptonModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedGammaConversionModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedRayleighModel::ComputeCrossSectionPerAtom(), G4LivermoreRayleighModel::ComputeCrossSectionPerAtom(), G4LowEPComptonModel::ComputeCrossSectionPerAtom(), G4LowEPPolarizedComptonModel::ComputeCrossSectionPerAtom(), G4PAIModelData::CrossSectionPerVolume(), G4PAIPhotData::CrossSectionPerVolume(), G4PAIModelData::DEDXPerVolume(), G4PAIPhotData::DEDXPerVolume(), G4PenelopeRayleighModel::DumpFormFactorTable(), G4PenelopeRayleighModelMI::DumpFormFactorTable(), G4EmModelManager::DumpModelList(), G4EmModelManager::FillDEDXVector(), G4EmModelManager::FillLambdaVector(), G4EmUtility::FillPeaksStructure(), G4EmUtility::FindCrossSectionMax(), G4SPSRandomGenerator::GenRandEnergy(), G4SPSRandomGenerator::GenRandPhi(), G4SPSRandomGenerator::GenRandPosPhi(), G4SPSRandomGenerator::GenRandPosTheta(), G4SPSRandomGenerator::GenRandTheta(), G4SPSRandomGenerator::GenRandX(), G4SPSRandomGenerator::GenRandY(), G4SPSRandomGenerator::GenRandZ(), G4SPSEneDistribution::GetArbEneWeight(), G4Cerenkov::GetAverageNumberOfPhotons(), G4PenelopeCrossSection::GetHardCrossSection(), G4PenelopeCrossSection::GetNormalizedShellCrossSection(), G4PAIPhotData::GetPlasmonRatio(), G4PenelopeCrossSection::GetShellCrossSection(), G4PenelopeCrossSection::GetSoftStoppingPower(), G4PenelopeCrossSection::GetTotalCrossSection(), G4eeToHadronsModel::Initialise(), G4GDMLWriteMaterials::PropertyVectorWrite(), G4PAIPhotData::SampleAlongStepPhotonTransfer(), G4PAIPhotData::SampleAlongStepPlasmonTransfer(), G4PAIModelData::SampleAlongStepTransfer(), G4PAIPhotData::SampleAlongStepTransfer(), G4PAIPhotData::SamplePostStepPhotonTransfer(), G4PAIPhotData::SamplePostStepPlasmonTransfer(), G4PAIModelData::SamplePostStepTransfer(), and G4PAIPhotData::SamplePostStepTransfer().

◆ Initialise()

◆ LogFreeVectorValue()

G4double G4PhysicsVector::LogFreeVectorValue ( const G4double energy,
const G4double theLogEnergy ) const
inline

◆ LogVectorValue()

◆ operator!=()

G4bool G4PhysicsVector::operator!= ( const G4PhysicsVector & right) const
delete

◆ operator()()

G4double G4PhysicsVector::operator() ( const std::size_t index) const
inline

◆ operator=() [1/2]

G4PhysicsVector & G4PhysicsVector::operator= ( const G4PhysicsVector && )
delete

◆ operator=() [2/2]

G4PhysicsVector & G4PhysicsVector::operator= ( const G4PhysicsVector & )
default

◆ operator==()

G4bool G4PhysicsVector::operator== ( const G4PhysicsVector & right) const
delete

◆ operator[]()

G4double G4PhysicsVector::operator[] ( const std::size_t index) const
inline

◆ PrintPutValueError()

void G4PhysicsVector::PrintPutValueError ( std::size_t index,
G4double value,
const G4String & text )
protected

Definition at line 460 of file G4PhysicsVector.cc.

463{
465 ed << "Vector type: " << type << " length= " << numberOfNodes
466 << "; an attempt to put data at index= " << index
467 << " value= " << val << " in " << text;
468 G4Exception("G4PhysicsVector:", "gl0005",
469 FatalException, ed, "Wrong operation");
470}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription

Referenced by G4PhysicsFreeVector::PutValues().

◆ PutValue()

◆ Retrieve()

G4bool G4PhysicsVector::Retrieve ( std::ifstream & fIn,
G4bool ascii = false )

Definition at line 87 of file G4PhysicsVector.cc.

88{
89 // clear properties;
90 dataVector.clear();
91 binVector.clear();
92 secDerivative.clear();
93
94 // retrieve in ascii mode
95 if (ascii)
96 {
97 // binning
98 fIn >> edgeMin >> edgeMax >> numberOfNodes;
99 if (fIn.fail() || numberOfNodes < 2)
100 {
101 return false;
102 }
103 // contents
104 G4int siz0 = 0;
105 fIn >> siz0;
106 if (siz0 < 2) { return false; }
107 std::size_t siz = static_cast<std::size_t>(siz0);
108 if (fIn.fail() || siz != numberOfNodes)
109 {
110 return false;
111 }
112
113 binVector.reserve(siz);
114 dataVector.reserve(siz);
115 G4double vBin, vData;
116
117 for (std::size_t i = 0; i < siz; ++i)
118 {
119 vBin = 0.;
120 vData = 0.;
121 fIn >> vBin >> vData;
122 if (fIn.fail())
123 {
124 return false;
125 }
126 binVector.push_back(vBin);
127 dataVector.push_back(vData);
128 }
129 Initialise();
130 return true;
131 }
132
133 // retrieve in binary mode
134 // binning
135 fIn.read((char*) (&edgeMin), sizeof edgeMin);
136 fIn.read((char*) (&edgeMax), sizeof edgeMax);
137 fIn.read((char*) (&numberOfNodes), sizeof numberOfNodes);
138
139 // contents
140 std::size_t size;
141 fIn.read((char*) (&size), sizeof size);
142
143 G4double* value = new G4double[2 * size];
144 fIn.read((char*) (value), 2 * size * (sizeof(G4double)));
145 if (static_cast<G4int>(fIn.gcount()) != static_cast<G4int>(2 * size * (sizeof(G4double))))
146 {
147 delete[] value;
148 return false;
149 }
150
151 binVector.reserve(size);
152 dataVector.reserve(size);
153 for (std::size_t i = 0; i < size; ++i)
154 {
155 binVector.push_back(value[2 * i]);
156 dataVector.push_back(value[2 * i + 1]);
157 }
158 delete[] value;
159
160 Initialise();
161 return true;
162}
int G4int
Definition G4Types.hh:85

Referenced by G4ExtDEDXTable::RetrievePhysicsTable(), and G4PhysicsTable::RetrievePhysicsTable().

◆ ScaleVector()

void G4PhysicsVector::ScaleVector ( const G4double factorE,
const G4double factorV )

Definition at line 195 of file G4PhysicsVector.cc.

197{
198 for (std::size_t i = 0; i < numberOfNodes; ++i)
199 {
200 binVector[i] *= factorE;
201 dataVector[i] *= factorV;
202 }
203 Initialise();
204}

◆ SetVerboseLevel()

void G4PhysicsVector::SetVerboseLevel ( G4int value)
inline

◆ Store()

G4bool G4PhysicsVector::Store ( std::ofstream & fOut,
G4bool ascii = false ) const

Definition at line 55 of file G4PhysicsVector.cc.

56{
57 // Ascii mode
58 if (ascii)
59 {
60 fOut << *this;
61 return true;
62 }
63 // Binary Mode
64
65 // binning
66 fOut.write((char*) (&edgeMin), sizeof edgeMin);
67 fOut.write((char*) (&edgeMax), sizeof edgeMax);
68 fOut.write((char*) (&numberOfNodes), sizeof numberOfNodes);
69
70 // contents
71 std::size_t size = dataVector.size();
72 fOut.write((char*) (&size), sizeof size);
73
74 G4double* value = new G4double[2 * size];
75 for (std::size_t i = 0; i < size; ++i)
76 {
77 value[2 * i] = binVector[i];
78 value[2 * i + 1] = dataVector[i];
79 }
80 fOut.write((char*) (value), 2 * size * (sizeof(G4double)));
81 delete[] value;
82
83 return true;
84}

Referenced by G4ExtDEDXTable::StorePhysicsTable().

◆ Value() [1/2]

G4double G4PhysicsVector::Value ( const G4double energy) const
inline

◆ Value() [2/2]

G4double G4PhysicsVector::Value ( const G4double energy,
std::size_t & lastidx ) const
inline

Referenced by G4EmCorrections::BarkasCorrection(), G4Track::CalculateVelocityForOpticalPhoton(), G4BoldyshevTripletModel::ComputeCrossSectionPerAtom(), G4eplusTo2GammaOKVIModel::ComputeCrossSectionPerAtom(), G4JAEAElasticScatteringModel::ComputeCrossSectionPerAtom(), G4JAEAPolarizedElasticScatteringModel::ComputeCrossSectionPerAtom(), G4LivermoreComptonModel::ComputeCrossSectionPerAtom(), G4LivermoreGammaConversion5DModel::ComputeCrossSectionPerAtom(), G4LivermoreGammaConversionModel::ComputeCrossSectionPerAtom(), G4LivermoreNuclearGammaConversionModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedComptonModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedGammaConversionModel::ComputeCrossSectionPerAtom(), G4LivermorePolarizedRayleighModel::ComputeCrossSectionPerAtom(), G4LivermoreRayleighModel::ComputeCrossSectionPerAtom(), G4LowEPComptonModel::ComputeCrossSectionPerAtom(), G4LowEPPolarizedComptonModel::ComputeCrossSectionPerAtom(), G4PenelopeGammaConversionModel::ComputeCrossSectionPerAtom(), G4PenelopePhotoElectricModel::ComputeCrossSectionPerAtom(), G4PenelopeRayleighModel::ComputeCrossSectionPerAtom(), G4PenelopeRayleighModelMI::ComputeCrossSectionPerAtom(), G4eeToHadronsModel::ComputeCrossSectionPerElectron(), G4DNABornExcitationModel2::CrossSectionPerVolume(), G4eplusTo2GammaOKVIModel::CrossSectionPerVolume(), G4EmCorrections::EffectiveChargeCorrection(), G4eeToHadronsModel::GenerateCMPhoton(), G4Cerenkov::GetAverageNumberOfPhotons(), G4ChannelingMaterialData::GetBR(), G4PenelopeIonisationXSHandler::GetDensityCorrection(), G4ChannelingECHARM::GetEC(), G4NeutronElectronElXsc::GetElementCrossSection(), G4PenelopeCrossSection::GetHardCrossSection(), G4OpAbsorption::GetMeanFreePath(), G4OpMieHG::GetMeanFreePath(), G4OpWLS2::GetMeanFreePath(), G4OpWLS::GetMeanFreePath(), G4PenelopeCrossSection::GetNormalizedShellCrossSection(), G4SPSEneDistribution::GetProbability(), G4Scintillation::GetScintillationYieldByParticleType(), G4PenelopeCrossSection::GetShellCrossSection(), G4PenelopePhotoElectricModel::GetShellCrossSection(), G4PenelopeCrossSection::GetSoftStoppingPower(), G4PenelopeCrossSection::GetTotalCrossSection(), G4eeToHadronsModel::Initialise(), G4NeutronElectronElXsc::Initialise(), G4EmCorrections::KShellCorrection(), G4GammaNuclearXS::LowEnergyCrossSection(), G4EmCorrections::LShellCorrection(), G4Cerenkov::PostStepDoIt(), G4OpBoundaryProcess::PostStepDoIt(), G4PenelopeBremsstrahlungAngular::PrepareTables(), G4XrayReflection::Reflectivity(), G4PAIModelData::SampleAlongStepTransfer(), G4PenelopeBremsstrahlungAngular::SampleDirection(), G4PAIModelData::SamplePostStepTransfer(), G4eplusTo2GammaOKVIModel::SampleSecondaries(), G4LivermorePhotoElectricModel::SampleSecondaries(), G4PenelopeRayleighModel::SampleSecondaries(), G4PenelopeRayleighModelMI::SampleSecondaries(), and G4EmCorrections::ShellCorrection().

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const G4PhysicsVector & pv )
friend

Definition at line 414 of file G4PhysicsVector.cc.

415{
416 // binning
417 G4long prec = out.precision();
418 out << std::setprecision(12) << pv.edgeMin << " " << pv.edgeMax << " "
419 << pv.numberOfNodes << G4endl;
420
421 // contents
422 out << pv.dataVector.size() << G4endl;
423 for (std::size_t i = 0; i < pv.dataVector.size(); ++i)
424 {
425 out << pv.binVector[i] << " " << pv.dataVector[i] << G4endl;
426 }
427 out.precision(prec);
428
429 return out;
430}
long G4long
Definition G4Types.hh:87

Member Data Documentation

◆ binVector

◆ dataVector

◆ edgeMax

◆ edgeMin

◆ iBin1

G4double G4PhysicsVector::iBin1 = 0.0
protected

Definition at line 214 of file G4PhysicsVector.hh.

Referenced by G4PhysicsFreeVector::EnableLogBinSearch().

◆ idxmax

◆ imax1

std::size_t G4PhysicsVector::imax1 = 0
protected

Definition at line 219 of file G4PhysicsVector.hh.

Referenced by G4PhysicsFreeVector::EnableLogBinSearch().

◆ invdBin

◆ lmin1

G4double G4PhysicsVector::lmin1 = 0.0
protected

Definition at line 215 of file G4PhysicsVector.hh.

Referenced by G4PhysicsFreeVector::EnableLogBinSearch().

◆ logemin

G4double G4PhysicsVector::logemin = 0.0
protected

Definition at line 212 of file G4PhysicsVector.hh.

Referenced by G4PhysicsLogVector::Initialise().

◆ nLogNodes

std::size_t G4PhysicsVector::nLogNodes = 0
protected

Definition at line 221 of file G4PhysicsVector.hh.

Referenced by G4PhysicsFreeVector::EnableLogBinSearch().

◆ numberOfNodes

◆ scale

std::vector<std::size_t> G4PhysicsVector::scale
protected

Definition at line 229 of file G4PhysicsVector.hh.

Referenced by G4PhysicsFreeVector::EnableLogBinSearch().

◆ secDerivative

std::vector<G4double> G4PhysicsVector::secDerivative
protected

Definition at line 228 of file G4PhysicsVector.hh.

Referenced by FillSecondDerivatives(), and Retrieve().

◆ type

◆ verboseLevel

G4int G4PhysicsVector::verboseLevel = 0
protected

Definition at line 217 of file G4PhysicsVector.hh.

Referenced by FillSecondDerivatives().


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