#include <G4CompositeEMDataSet.hh>
Inheritance diagram for G4CompositeEMDataSet:
Public Member Functions | |
G4CompositeEMDataSet (G4VDataSetAlgorithm *argAlgorithm, G4double eUnit=CLHEP::MeV, G4double dataUnit=CLHEP::barn, G4int zMin=1, G4int zMax=99) | |
virtual | ~G4CompositeEMDataSet () |
virtual G4double | FindValue (G4double x, G4int componentId=0) const |
virtual void | PrintData (void) const |
virtual const G4VEMDataSet * | GetComponent (G4int componentId) const |
virtual void | AddComponent (G4VEMDataSet *dataSet) |
virtual size_t | NumberOfComponents () const |
virtual const G4DataVector & | GetEnergies (G4int componentId) const |
virtual const G4DataVector & | GetData (G4int componentId) const |
virtual const G4DataVector & | GetLogEnergies (G4int componentId) const |
virtual const G4DataVector & | GetLogData (G4int componentId) const |
virtual void | SetEnergiesData (G4DataVector *x, G4DataVector *data, G4int componentId) |
virtual void | SetLogEnergiesData (G4DataVector *xData, G4DataVector *data, G4DataVector *xLogData, G4DataVector *Logdata, G4int componentId) |
virtual G4bool | LoadData (const G4String &fileName) |
virtual G4bool | LoadNonLogData (const G4String &fileName) |
virtual G4bool | SaveData (const G4String &fileName) const |
virtual G4double | RandomSelect (G4int componentId) const |
Definition at line 59 of file G4CompositeEMDataSet.hh.
G4CompositeEMDataSet::G4CompositeEMDataSet | ( | G4VDataSetAlgorithm * | argAlgorithm, | |
G4double | eUnit = CLHEP::MeV , |
|||
G4double | dataUnit = CLHEP::barn , |
|||
G4int | zMin = 1 , |
|||
G4int | zMax = 99 | |||
) |
Definition at line 57 of file G4CompositeEMDataSet.cc.
References FatalException, G4CompositeEMDataSet(), and G4Exception().
Referenced by G4CompositeEMDataSet().
00062 : 00063 algorithm(argAlgorithm), 00064 unitEnergies(argUnitEnergies), 00065 unitData(argUnitData), 00066 minZ(argMinZ), 00067 maxZ(argMaxZ) 00068 { 00069 if (algorithm == 0) 00070 G4Exception("G4CompositeEMDataSet::G4CompositeEMDataSet", 00071 "em1003",FatalException,"interpolation == 0"); 00072 00073 }
G4CompositeEMDataSet::~G4CompositeEMDataSet | ( | ) | [virtual] |
virtual void G4CompositeEMDataSet::AddComponent | ( | G4VEMDataSet * | dataSet | ) | [inline, virtual] |
Implements G4VEMDataSet.
Definition at line 75 of file G4CompositeEMDataSet.hh.
Referenced by LoadData(), and LoadNonLogData().
Implements G4VEMDataSet.
Definition at line 84 of file G4CompositeEMDataSet.cc.
References FatalException, G4VEMDataSet::FindValue(), G4Exception(), and GetComponent().
00085 { 00086 const G4VEMDataSet* component(GetComponent(argComponentId)); 00087 00088 if (component) return component->FindValue(argEnergy); 00089 00090 std::ostringstream message; 00091 message << "G4CompositeEMDataSet::FindValue - component " << argComponentId << " not found"; 00092 00093 G4Exception("G4CompositeEMDataSet::FindValue", 00094 "em1004",FatalException,message.str().c_str()); 00095 00096 return 0.; 00097 }
virtual const G4VEMDataSet* G4CompositeEMDataSet::GetComponent | ( | G4int | componentId | ) | const [inline, virtual] |
Implements G4VEMDataSet.
Definition at line 74 of file G4CompositeEMDataSet.hh.
Referenced by FindValue(), GetData(), GetEnergies(), GetLogData(), GetLogEnergies(), PrintData(), RandomSelect(), and SaveData().
virtual const G4DataVector& G4CompositeEMDataSet::GetData | ( | G4int | componentId | ) | const [inline, virtual] |
Implements G4VEMDataSet.
Definition at line 79 of file G4CompositeEMDataSet.hh.
References GetComponent(), and G4VEMDataSet::GetData().
00079 { return GetComponent(componentId)->GetData(0); }
virtual const G4DataVector& G4CompositeEMDataSet::GetEnergies | ( | G4int | componentId | ) | const [inline, virtual] |
Implements G4VEMDataSet.
Definition at line 78 of file G4CompositeEMDataSet.hh.
References GetComponent(), and G4VEMDataSet::GetEnergies().
00078 { return GetComponent(componentId)->GetEnergies(0); }
virtual const G4DataVector& G4CompositeEMDataSet::GetLogData | ( | G4int | componentId | ) | const [inline, virtual] |
Implements G4VEMDataSet.
Definition at line 81 of file G4CompositeEMDataSet.hh.
References GetComponent(), and G4VEMDataSet::GetLogData().
00081 { return GetComponent(componentId)->GetLogData(0); }
virtual const G4DataVector& G4CompositeEMDataSet::GetLogEnergies | ( | G4int | componentId | ) | const [inline, virtual] |
Implements G4VEMDataSet.
Definition at line 80 of file G4CompositeEMDataSet.hh.
References GetComponent(), and G4VEMDataSet::GetLogEnergies().
00080 { return GetComponent(componentId)->GetLogEnergies(0); }
Implements G4VEMDataSet.
Definition at line 155 of file G4CompositeEMDataSet.cc.
References AddComponent(), and G4VDataSetAlgorithm::Clone().
00156 { 00157 CleanUpComponents(); 00158 00159 for (G4int z(minZ); z<maxZ; z++) 00160 { 00161 G4VEMDataSet* component = new G4EMDataSet(z, algorithm->Clone(), unitEnergies, unitData); 00162 if (!component->LoadData(argFileName)) 00163 { 00164 delete component; 00165 return false; 00166 } 00167 AddComponent(component); 00168 } 00169 return true; 00170 }
Implements G4VEMDataSet.
Definition at line 173 of file G4CompositeEMDataSet.cc.
References AddComponent(), and G4VDataSetAlgorithm::Clone().
00174 { 00175 CleanUpComponents(); 00176 00177 for (G4int z(minZ); z<maxZ; z++) 00178 { 00179 G4VEMDataSet* component = new G4EMDataSet(z, algorithm->Clone(), unitEnergies, unitData); 00180 if (!component->LoadNonLogData(argFileName)) 00181 { 00182 delete component; 00183 return false; 00184 } 00185 AddComponent(component); 00186 } 00187 return true; 00188 }
virtual size_t G4CompositeEMDataSet::NumberOfComponents | ( | void | ) | const [inline, virtual] |
Implements G4VEMDataSet.
Definition at line 76 of file G4CompositeEMDataSet.hh.
Referenced by PrintData().
void G4CompositeEMDataSet::PrintData | ( | void | ) | const [virtual] |
Implements G4VEMDataSet.
Definition at line 99 of file G4CompositeEMDataSet.cc.
References G4cout, G4endl, GetComponent(), CLHEP::detail::n, NumberOfComponents(), and G4VEMDataSet::PrintData().
00100 { 00101 const size_t n(NumberOfComponents()); 00102 00103 G4cout << "The data set has " << n << " components" << G4endl; 00104 G4cout << G4endl; 00105 00106 size_t i(0); 00107 00108 while (i<n) 00109 { 00110 G4cout << "--- Component " << i << " ---" << G4endl; 00111 GetComponent(i)->PrintData(); 00112 i++; 00113 } 00114 }
Implements G4VEMDataSet.
Definition at line 224 of file G4CompositeEMDataSet.cc.
References GetComponent(), and G4VEMDataSet::RandomSelect().
00225 { 00226 G4double value = 0.; 00227 if (componentId >= 0 && componentId < (G4int)components.size()) 00228 { 00229 const G4VEMDataSet* dataSet = GetComponent(componentId); 00230 value = dataSet->RandomSelect(); 00231 } 00232 return value; 00233 }
Implements G4VEMDataSet.
Definition at line 191 of file G4CompositeEMDataSet.cc.
References FatalException, G4Exception(), and GetComponent().
00192 { 00193 for (G4int z=minZ; z<maxZ; z++) 00194 { 00195 const G4VEMDataSet* component(GetComponent(z-minZ)); 00196 00197 if (!component) 00198 { 00199 std::ostringstream message; 00200 message << "G4CompositeEMDataSet::SaveData - component " << (z-minZ) << " not found"; 00201 G4Exception("G4CompositeEMDataSet::SaveData", 00202 "em1004",FatalException,message.str().c_str()); 00203 return false; 00204 } 00205 00206 if (!component->SaveData(argFileName)) 00207 return false; 00208 } 00209 00210 return true; 00211 }
void G4CompositeEMDataSet::SetEnergiesData | ( | G4DataVector * | x, | |
G4DataVector * | data, | |||
G4int | componentId | |||
) | [virtual] |
Implements G4VEMDataSet.
Definition at line 116 of file G4CompositeEMDataSet.cc.
References FatalException, G4Exception(), and G4VEMDataSet::SetEnergiesData().
00117 { 00118 G4VEMDataSet * component(components[argComponentId]); 00119 00120 if (component) 00121 { 00122 component->SetEnergiesData(argEnergies, argData, 0); 00123 return; 00124 } 00125 00126 std::ostringstream message; 00127 message << "G4CompositeEMDataSet::SetEnergiesData - component " << argComponentId << " not found"; 00128 00129 G4Exception("G4CompositeEMDataSet::SetEnergiesData", 00130 "em1004",FatalException,message.str().c_str()); 00131 }
void G4CompositeEMDataSet::SetLogEnergiesData | ( | G4DataVector * | xData, | |
G4DataVector * | data, | |||
G4DataVector * | xLogData, | |||
G4DataVector * | Logdata, | |||
G4int | componentId | |||
) | [virtual] |
Implements G4VEMDataSet.
Definition at line 133 of file G4CompositeEMDataSet.cc.
References FatalException, G4Exception(), and G4VEMDataSet::SetLogEnergiesData().
00138 { 00139 G4VEMDataSet * component(components[argComponentId]); 00140 00141 if (component) 00142 { 00143 component->SetLogEnergiesData(argEnergies, argData, argLogEnergies, argLogData, 0); 00144 return; 00145 } 00146 00147 std::ostringstream message; 00148 message << "G4CompositeEMDataSet::SetEnergiesData - component " << argComponentId << " not found"; 00149 00150 G4Exception("G4CompositeEMDataSet::SetLogEnergiesData", 00151 "em1004",FatalException,message.str().c_str()); 00152 }