#include <G4RDEMDataSet.hh>
|
| G4RDEMDataSet (G4int argZ, G4RDVDataSetAlgorithm *algo, G4double xUnit=CLHEP::MeV, G4double yUnit=CLHEP::barn, G4bool random=false) |
|
| G4RDEMDataSet (G4int argZ, G4DataVector *xData, G4DataVector *data, G4RDVDataSetAlgorithm *algo, G4double xUnit=CLHEP::MeV, G4double yUnit=CLHEP::barn, G4bool random=false) |
|
virtual | ~G4RDEMDataSet () |
|
virtual G4double | FindValue (G4double x, G4int componentId=0) const |
|
virtual void | PrintData (void) const |
|
virtual const G4RDVEMDataSet * | GetComponent (G4int) const |
|
virtual void | AddComponent (G4RDVEMDataSet *) |
|
virtual size_t | NumberOfComponents (void) const |
|
virtual const G4DataVector & | GetEnergies (G4int) const |
|
virtual const G4DataVector & | GetData (G4int) const |
|
virtual void | SetEnergiesData (G4DataVector *xData, G4DataVector *data, G4int componentId) |
|
virtual G4bool | LoadData (const G4String &fileName) |
|
virtual G4bool | SaveData (const G4String &fileName) const |
|
virtual G4double | RandomSelect (G4int componentId=0) const |
|
| G4RDVEMDataSet () |
|
virtual | ~G4RDVEMDataSet () |
|
Definition at line 56 of file G4RDEMDataSet.hh.
◆ G4RDEMDataSet() [1/4]
Definition at line 47 of file G4RDEMDataSet.cc.
G4RDVDataSetAlgorithm * algorithm
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ G4RDEMDataSet() [2/4]
Definition at line 67 of file G4RDEMDataSet.cc.
88 G4Exception(
"G4RDEMDataSet::G4RDEMDataSet()",
"InvalidSetup",
89 FatalException,
"Different size for energies and data (zero case)!");
93 if (
energies->size() != data->size())
94 G4Exception(
"G4RDEMDataSet::G4RDEMDataSet()",
"InvalidSetup",
G4RDVDataSetAlgorithm * algorithm
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ ~G4RDEMDataSet()
G4RDEMDataSet::~G4RDEMDataSet |
( |
| ) |
|
|
virtual |
◆ G4RDEMDataSet() [3/4]
G4RDEMDataSet::G4RDEMDataSet |
( |
| ) |
|
|
private |
◆ G4RDEMDataSet() [4/4]
◆ AddComponent()
◆ BuildPdf()
void G4RDEMDataSet::BuildPdf |
( |
| ) |
|
|
privatevirtual |
Definition at line 329 of file G4RDEMDataSet.cc.
340 for (i=1; i<nData; i++)
345 totalSum = totalSum + sum;
346 pdf->push_back(totalSum);
351 if (totalSum > 0.) tot = 1. / totalSum;
352 for (i=1; i<nData; i++)
354 (*pdf)[i] = (*pdf)[i] * tot;
G4double Legendre96(T &typeT, F f, G4double a, G4double b)
G4double IntegrationFunction(G4double x)
◆ FindLowerBound() [1/2]
size_t G4RDEMDataSet::FindLowerBound |
( |
G4double |
energy | ) |
const |
|
private |
Definition at line 281 of file G4RDEMDataSet.cc.
283 size_t lowerBound = 0;
284 size_t upperBound(
energies->size() - 1);
286 while (lowerBound <= upperBound)
288 size_t midBin((lowerBound + upperBound) / 2);
290 if (
x < (*
energies)[midBin]) upperBound = midBin - 1;
291 else lowerBound = midBin + 1;
◆ FindLowerBound() [2/2]
Definition at line 298 of file G4RDEMDataSet.cc.
300 size_t lowerBound = 0;;
301 size_t upperBound(values->size() - 1);
303 while (lowerBound <= upperBound)
305 size_t midBin((lowerBound + upperBound) / 2);
307 if (
x < (*values)[midBin]) upperBound = midBin - 1;
308 else lowerBound = midBin + 1;
◆ FindValue()
Implements G4RDVEMDataSet.
Definition at line 108 of file G4RDEMDataSet.cc.
111 G4Exception(
"G4RDEMDataSet::FindValue()",
"InvalidSetup",
size_t FindLowerBound(G4double energy) const
G4RDVDataSetAlgorithm * algorithm
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual G4double Calculate(G4double point, G4int bin, const G4DataVector &energies, const G4DataVector &data) const =0
◆ FullFileName()
Definition at line 315 of file G4RDEMDataSet.cc.
317 char* path = getenv(
"G4LEDATA");
319 G4Exception(
"G4RDEMDataSet::FullFileName()",
"InvalidSetup",
322 std::ostringstream fullFileName;
323 fullFileName << path <<
'/' <<
name <<
z <<
".dat";
325 return G4String(fullFileName.str().c_str());
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ GetComponent()
◆ GetData()
◆ GetEnergies()
◆ IntegrationFunction()
Definition at line 385 of file G4RDEMDataSet.cc.
size_t FindLowerBound(G4double energy) const
G4RDVDataSetAlgorithm * algorithm
G4double Calculate(G4double point, G4int bin, const G4DataVector &energies, const G4DataVector &data) const
virtual G4double Calculate(G4double point, G4int bin, const G4DataVector &energies, const G4DataVector &data) const =0
◆ LoadData()
Implements G4RDVEMDataSet.
Definition at line 164 of file G4RDEMDataSet.cc.
173 std::ifstream
in(fullFileName);
178 message += fullFileName;
179 message +=
"\" not found";
180 G4Exception(
"G4RDEMDataSet::LoadData()",
"DataNotFound",
188 bool energyColumn(
true);
200 energyColumn=(!energyColumn);
G4String FullFileName(const G4String &fileName) const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual void SetEnergiesData(G4DataVector *xData, G4DataVector *data, G4int componentId)
◆ NumberOfComponents()
virtual size_t G4RDEMDataSet::NumberOfComponents |
( |
void |
| ) |
const |
|
inlinevirtual |
◆ operator=()
◆ PrintData()
void G4RDEMDataSet::PrintData |
( |
void |
| ) |
const |
|
virtual |
◆ RandomSelect()
G4double G4RDEMDataSet::RandomSelect |
( |
G4int |
componentId = 0 | ) |
const |
|
virtual |
Implements G4RDVEMDataSet.
Definition at line 359 of file G4RDEMDataSet.cc.
364 if (!
pdf)
G4Exception(
"G4RDEMDataSet::RandomSelect()",
"InvalidSetup",
size_t FindLowerBound(G4double energy) const
G4RDVDataSetAlgorithm * algorithm
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4double Calculate(G4double point, G4int bin, const G4DataVector &energies, const G4DataVector &data) const
virtual G4double Calculate(G4double point, G4int bin, const G4DataVector &energies, const G4DataVector &data) const =0
◆ SaveData()
Implements G4RDVEMDataSet.
Definition at line 211 of file G4RDEMDataSet.cc.
220 std::ofstream out(fullFileName);
225 message+=fullFileName;
227 G4Exception(
"G4RDEMDataSet::SaveData()",
"CannotOpenFile",
237 G4DataVector::const_iterator i(
energies->begin());
238 G4DataVector::const_iterator endI(
energies->end());
239 G4DataVector::const_iterator j(
data->begin());
251 out << ((*j)/
unitData) << std::endl;
266 out << -1.f << std::endl;
276 out << -2.f << std::endl;
G4String FullFileName(const G4String &fileName) const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ SetEnergiesData()
Implements G4RDVEMDataSet.
Definition at line 143 of file G4RDEMDataSet.cc.
150 if (data)
delete data;
154 G4Exception(
"G4RDEMDataSet::SetEnergiesData()",
"InvalidSetup",
155 FatalException,
"Different size for energies and data (zero case)!");
159 if (
energies->size() != data->size())
160 G4Exception(
"G4RDEMDataSet::SetEnergiesData()",
"InvalidSetup",
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
◆ algorithm
◆ data
◆ energies
◆ pdf
◆ randomSet
G4bool G4RDEMDataSet::randomSet |
|
private |
◆ unitData
◆ unitEnergies
The documentation for this class was generated from the following files: