Geant4-11
Public Member Functions | Private Member Functions | Private Attributes
G4MicroElecCrossSectionDataSet_new Class Reference

#include <G4MicroElecCrossSectionDataSet_new.hh>

Inheritance diagram for G4MicroElecCrossSectionDataSet_new:
G4VEMDataSet

Public Member Functions

void AddComponent (G4VEMDataSet *dataSet) override
 
G4double FindShellValue (G4double argEnergy, G4int shell) const
 
G4double FindValue (G4double e, G4int componentId=0) const override
 
 G4MicroElecCrossSectionDataSet_new (const G4MicroElecCrossSectionDataSet_new &copy)=delete
 
 G4MicroElecCrossSectionDataSet_new (G4VDataSetAlgorithm *algo, G4double xUnit=CLHEP::MeV, G4double dataUnit=CLHEP::barn)
 
const G4VEMDataSetGetComponent (G4int componentId) const override
 
const G4DataVectorGetData (G4int componentId) const override
 
const G4DataVectorGetEnergies (G4int componentId) const override
 
const G4DataVectorGetLogData (G4int componentId) const override
 
const G4DataVectorGetLogEnergies (G4int componentId) const override
 
G4bool LoadData (const G4String &argFileName) override
 
G4bool LoadNonLogData (const G4String &argFileName) override
 
size_t NumberOfComponents (void) const override
 
G4MicroElecCrossSectionDataSet_newoperator= (const G4MicroElecCrossSectionDataSet_new &right)=delete
 
void PrintData (void) const override
 
G4double RandomSelect (G4int) const override
 
G4bool SaveData (const G4String &argFileName) const override
 
void SetEnergiesData (G4DataVector *x, G4DataVector *values, G4int componentId) override
 
void SetLogEnergiesData (G4DataVector *x, G4DataVector *values, G4DataVector *log_x, G4DataVector *log_values, G4int componentId) override
 
 ~G4MicroElecCrossSectionDataSet_new () override
 

Private Member Functions

void CleanUpComponents ()
 
G4String FullFileName (const G4String &argFileName) const
 
const G4VDataSetAlgorithmGetAlgorithm () const
 
G4double GetUnitData () const
 
G4double GetUnitEnergies () const
 

Private Attributes

G4VDataSetAlgorithmalgorithm
 
std::vector< G4VEMDataSet * > components
 
G4double unitData
 
G4double unitEnergies
 

Detailed Description

Definition at line 36 of file G4MicroElecCrossSectionDataSet_new.hh.

Constructor & Destructor Documentation

◆ G4MicroElecCrossSectionDataSet_new() [1/2]

G4MicroElecCrossSectionDataSet_new::G4MicroElecCrossSectionDataSet_new ( G4VDataSetAlgorithm algo,
G4double  xUnit = CLHEP::MeV,
G4double  dataUnit = CLHEP::barn 
)
explicit

◆ ~G4MicroElecCrossSectionDataSet_new()

G4MicroElecCrossSectionDataSet_new::~G4MicroElecCrossSectionDataSet_new ( )
override

◆ G4MicroElecCrossSectionDataSet_new() [2/2]

G4MicroElecCrossSectionDataSet_new::G4MicroElecCrossSectionDataSet_new ( const G4MicroElecCrossSectionDataSet_new copy)
delete

Member Function Documentation

◆ AddComponent()

void G4MicroElecCrossSectionDataSet_new::AddComponent ( G4VEMDataSet dataSet)
inlineoverridevirtual

Implements G4VEMDataSet.

Definition at line 49 of file G4MicroElecCrossSectionDataSet_new.hh.

50 { components.push_back(dataSet); }

References components.

Referenced by LoadData(), and LoadNonLogData().

◆ CleanUpComponents()

void G4MicroElecCrossSectionDataSet_new::CleanUpComponents ( void  )
private

Definition at line 573 of file G4MicroElecCrossSectionDataSet_new.cc.

574{
575 while (!components.empty())
576 {
577 if (components.back()) delete components.back();
578 components.pop_back();
579 }
580}

References components.

Referenced by LoadData(), LoadNonLogData(), and ~G4MicroElecCrossSectionDataSet_new().

◆ FindShellValue()

G4double G4MicroElecCrossSectionDataSet_new::FindShellValue ( G4double  argEnergy,
G4int  shell 
) const

Definition at line 501 of file G4MicroElecCrossSectionDataSet_new.cc.

502{
503 return components.at(shell)->FindValue(argEnergy);
504}

References components.

Referenced by G4MicroElecInelasticModel_new::CrossSectionPerVolume().

◆ FindValue()

G4double G4MicroElecCrossSectionDataSet_new::FindValue ( G4double  e,
G4int  componentId = 0 
) const
overridevirtual

Implements G4VEMDataSet.

Definition at line 482 of file G4MicroElecCrossSectionDataSet_new.cc.

483{
484 // Returns the sum over the shells corresponding to e
485 G4double value = 0.;
486
487 std::vector<G4VEMDataSet *>::const_iterator i(components.begin());
488 std::vector<G4VEMDataSet *>::const_iterator end(components.end());
489
490 while (i!=end)
491 {
492 value+=(*i)->FindValue(argEnergy);
493 i++;
494 }
495
496 return value;
497}
double G4double
Definition: G4Types.hh:83

References components.

Referenced by G4MicroElecElasticModel_new::CrossSectionPerVolume(), and G4MicroElecInelasticModel_new::CrossSectionPerVolume().

◆ FullFileName()

G4String G4MicroElecCrossSectionDataSet_new::FullFileName ( const G4String argFileName) const
private

Definition at line 463 of file G4MicroElecCrossSectionDataSet_new.cc.

464{
465
466 char *path = std::getenv("G4LEDATA");
467 if (!path)
468 {
469 G4Exception("G4MicroElecCrossSectionDataSet_new::Initialise","em0006",FatalException,"G4LEDATA environment variable not set.");
470 return "";
471 }
472
473 //Reading DCS file
474
475 std::ostringstream fullFileName;
476 fullFileName << path << "/microelec/" << argFileName << ".dat";
477 return G4String(fullFileName.str().c_str());
478}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35

References FatalException, and G4Exception().

Referenced by LoadData(), LoadNonLogData(), and SaveData().

◆ GetAlgorithm()

const G4VDataSetAlgorithm * G4MicroElecCrossSectionDataSet_new::GetAlgorithm ( ) const
inlineprivate

Definition at line 80 of file G4MicroElecCrossSectionDataSet_new.hh.

80{ return algorithm; }

References algorithm.

Referenced by LoadData(), and LoadNonLogData().

◆ GetComponent()

const G4VEMDataSet * G4MicroElecCrossSectionDataSet_new::GetComponent ( G4int  componentId) const
inlineoverridevirtual

◆ GetData()

const G4DataVector & G4MicroElecCrossSectionDataSet_new::GetData ( G4int  componentId) const
inlineoverridevirtual

Implements G4VEMDataSet.

Definition at line 55 of file G4MicroElecCrossSectionDataSet_new.hh.

56 { return GetComponent(componentId)->GetData(0); }
const G4VEMDataSet * GetComponent(G4int componentId) const override
virtual const G4DataVector & GetData(G4int componentId) const =0

References GetComponent(), and G4VEMDataSet::GetData().

◆ GetEnergies()

const G4DataVector & G4MicroElecCrossSectionDataSet_new::GetEnergies ( G4int  componentId) const
inlineoverridevirtual

Implements G4VEMDataSet.

Definition at line 53 of file G4MicroElecCrossSectionDataSet_new.hh.

54 { return GetComponent(componentId)->GetEnergies(0); }
virtual const G4DataVector & GetEnergies(G4int componentId) const =0

References GetComponent(), and G4VEMDataSet::GetEnergies().

Referenced by SaveData().

◆ GetLogData()

const G4DataVector & G4MicroElecCrossSectionDataSet_new::GetLogData ( G4int  componentId) const
inlineoverridevirtual

Implements G4VEMDataSet.

Definition at line 59 of file G4MicroElecCrossSectionDataSet_new.hh.

60 { return GetComponent(componentId)->GetLogData(0); }
virtual const G4DataVector & GetLogData(G4int componentId) const =0

References GetComponent(), and G4VEMDataSet::GetLogData().

◆ GetLogEnergies()

const G4DataVector & G4MicroElecCrossSectionDataSet_new::GetLogEnergies ( G4int  componentId) const
inlineoverridevirtual

Implements G4VEMDataSet.

Definition at line 57 of file G4MicroElecCrossSectionDataSet_new.hh.

58 { return GetComponent(componentId)->GetLogEnergies(0); }
virtual const G4DataVector & GetLogEnergies(G4int componentId) const =0

References GetComponent(), and G4VEMDataSet::GetLogEnergies().

◆ GetUnitData()

G4double G4MicroElecCrossSectionDataSet_new::GetUnitData ( ) const
inlineprivate

Definition at line 79 of file G4MicroElecCrossSectionDataSet_new.hh.

79{ return unitData; }

References unitData.

Referenced by LoadData(), LoadNonLogData(), and SaveData().

◆ GetUnitEnergies()

G4double G4MicroElecCrossSectionDataSet_new::GetUnitEnergies ( ) const
inlineprivate

Definition at line 78 of file G4MicroElecCrossSectionDataSet_new.hh.

78{ return unitEnergies; }

References unitEnergies.

Referenced by LoadData(), LoadNonLogData(), and SaveData().

◆ LoadData()

G4bool G4MicroElecCrossSectionDataSet_new::LoadData ( const G4String argFileName)
overridevirtual

Implements G4VEMDataSet.

Definition at line 59 of file G4MicroElecCrossSectionDataSet_new.cc.

60{
62 G4cout << "loaddata : " << argFileName << G4endl;
63 G4String fullFileName(FullFileName(argFileName));
64 std::ifstream in(fullFileName, std::ifstream::binary|std::ifstream::in);
65
66 if (!in.is_open())
67 {
68 G4String message("Data file \"");
69 message+=fullFileName;
70 message+="\" not found";
71 G4Exception("G4MicroElecCrossSectionDataSet_new::LoadData","em0003",
72 FatalException,message);
73 return false;
74 }
75
76 std::vector<G4DataVector *> columns;
77 std::vector<G4DataVector *> log_columns;
78
79 std::stringstream *stream(new std::stringstream);
80 char c;
81 G4bool comment(false);
82 G4bool space(true);
83 G4bool first(true);
84
85 try
86 {
87 while (!in.eof())
88 {
89 in.get(c);
90
91 switch (c)
92 {
93 case '\r':
94 case '\n':
95 if (!first)
96 {
97 unsigned long i(0);
98 G4double value;
99
100 while (!stream->eof())
101 {
102 (*stream) >> value;
103
104 while (i>=columns.size())
105 {
106 columns.push_back(new G4DataVector);
107 log_columns.push_back(new G4DataVector);
108 }
109
110 columns[i]->push_back(value);
111
112 // N. A. Karakatsanis
113 // A condition is applied to check if negative or zero values are present in the dataset.
114 // If yes, then a near-zero value is applied to allow the computation of the logarithmic value
115 // If a value is zero, this simplification is acceptable
116 // If a value is negative, then it is not acceptable and the data of the particular column of
117 // logarithmic values should not be used by interpolation methods.
118 //
119 // Therefore, G4LogLogInterpolation and G4LinLogLogInterpolation should not be used if negative values are present.
120 // Instead, G4LinInterpolation is safe in every case
121 // SemiLogInterpolation is safe only if the energy columns are non-negative
122 // G4LinLogInterpolation is safe only if the cross section data columns are non-negative
123
124 if (value <=0.) value = 1e-300;
125 log_columns[i]->push_back(std::log10(value));
126
127 i++;
128 }
129
130 delete stream;
131 stream=new std::stringstream;
132 }
133
134 first=true;
135 comment=false;
136 space=true;
137 break;
138
139 case '#':
140 comment=true;
141 break;
142
143 case '\t':
144 c=' ';
145 break;
146 //case ' ':
147 // if (space)
148 // break;
149 default:
150 if ((c==' ') && space)
151 break;
152
153 if (comment)
154 break;
155
156 if (c==' ')
157 space=true;
158 else
159 {
160 if (space && (!first))
161 (*stream) << ' ';
162
163 first=false;
164 (*stream) << c;
165 space=false;
166 }
167 }
168 }
169 }
170 catch(const std::ios::failure &e)
171 {
172 // some implementations of STL could throw a "failture" exception
173 // when read wants read characters after end of file
174 }
175 delete stream;
176
177 std::vector<G4DataVector *>::size_type maxI(columns.size());
178
179 if (maxI<2)
180 {
181 G4String message("Data file \"");
182 message+=fullFileName;
183 message+="\" should have at least two columns";
184 G4Exception("G4MicroElecCrossSectionDataSet_new::LoadData","em0005",
185 FatalException,message);
186 return false;
187 }
188
189 std::vector<G4DataVector*>::size_type i(1);
190 while (i<maxI)
191 {
192 G4DataVector::size_type maxJ(columns[i]->size());
193
194 if (maxJ!=columns[0]->size())
195 {
196 G4String message("Data file \"");
197 message+=fullFileName;
198 message+="\" has lines with a different number of columns";
199 G4Exception("G4MicroElecCrossSectionDataSet_new::LoadData","em0005",
200 FatalException,message);
201 return false;
202 }
203
204 G4DataVector::size_type j(0);
205
206 G4DataVector *argEnergies=new G4DataVector;
207 G4DataVector *argData=new G4DataVector;
208 G4DataVector *argLogEnergies=new G4DataVector;
209 G4DataVector *argLogData=new G4DataVector;
210
211 while(j<maxJ)
212 {
213 argEnergies->push_back(columns[0]->operator[] (j)*GetUnitEnergies());
214 argData->push_back(columns[i]->operator[] (j)*GetUnitData());
215 argLogEnergies->push_back(log_columns[0]->operator[] (j) + std::log10(GetUnitEnergies()));
216 argLogData->push_back(log_columns[i]->operator[] (j) + std::log10(GetUnitData()));
217 j++;
218 }
219
220 AddComponent(new G4EMDataSet(i-1, argEnergies, argData, argLogEnergies, argLogData, GetAlgorithm()->Clone(), GetUnitEnergies(), GetUnitData()));
221
222 i++;
223 }
224
225 i=maxI;
226 while (i>0)
227 {
228 i--;
229 delete columns[i];
230 delete log_columns[i];
231 }
232
233 return true;
234}
bool G4bool
Definition: G4Types.hh:86
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
G4String FullFileName(const G4String &argFileName) const
void AddComponent(G4VEMDataSet *dataSet) override
const G4VDataSetAlgorithm * GetAlgorithm() const

References AddComponent(), CleanUpComponents(), FatalException, FullFileName(), G4cout, G4endl, G4Exception(), GetAlgorithm(), GetUnitData(), and GetUnitEnergies().

Referenced by G4MicroElecElasticModel_new::Initialise(), and G4MicroElecInelasticModel_new::Initialise().

◆ LoadNonLogData()

G4bool G4MicroElecCrossSectionDataSet_new::LoadNonLogData ( const G4String argFileName)
overridevirtual

Implements G4VEMDataSet.

Definition at line 238 of file G4MicroElecCrossSectionDataSet_new.cc.

239{
241
242 G4String fullFileName(FullFileName(argFileName));
243 std::ifstream in(fullFileName, std::ifstream::binary|std::ifstream::in);
244
245 if (!in.is_open())
246 {
247 G4String message("Data file \"");
248 message+=fullFileName;
249 message+="\" not found";
250 G4Exception("G4MicroElecCrossSectionDataSet_new::LoadData","em0003",
251 FatalException,message);
252 return false;
253 }
254
255 std::vector<G4DataVector *> columns;
256
257 std::stringstream *stream(new std::stringstream);
258 char c;
259 G4bool comment(false);
260 G4bool space(true);
261 G4bool first(true);
262
263 try
264 {
265 while (!in.eof())
266 {
267 in.get(c);
268
269 switch (c)
270 {
271 case '\r':
272 case '\n':
273 if (!first)
274 {
275 unsigned long i(0);
276 G4double value;
277
278 while (!stream->eof())
279 {
280 (*stream) >> value;
281
282 while (i>=columns.size())
283 {
284 columns.push_back(new G4DataVector);
285 }
286
287 columns[i]->push_back(value);
288
289 i++;
290 }
291
292 delete stream;
293 stream=new std::stringstream;
294 }
295
296 first=true;
297 comment=false;
298 space=true;
299 break;
300
301 case '#':
302 comment=true;
303 break;
304
305 default:
306 if( c=='\t')
307 c=' ';
308 if( c==' ' && space)
309 break;
310
311 if (comment)
312 break;
313
314 if (c==' ')
315 space=true;
316 else
317 {
318 if (space && (!first))
319 (*stream) << ' ';
320
321 first=false;
322 (*stream) << c;
323 space=false;
324 }
325 }
326 }
327 }
328 catch(const std::ios::failure &e)
329 {
330 // some implementations of STL could throw a "failture" exception
331 // when read wants read characters after end of file
332 }
333
334 delete stream;
335
336 std::vector<G4DataVector *>::size_type maxI(columns.size());
337
338 if (maxI<2)
339 {
340 G4String message("Data file \"");
341 message+=fullFileName;
342 message+="\" should have at least two columns";
343 G4Exception("G4MicroElecCrossSectionDataSet_new::LoadData","em0005",
344 FatalException,message);
345 return false;
346 }
347
348 std::vector<G4DataVector*>::size_type i(1);
349 while (i<maxI)
350 {
351 G4DataVector::size_type maxJ(columns[i]->size());
352
353
354 if (maxJ!=columns[0]->size())
355 {
356 G4String message("Data file \"");
357 message+=fullFileName;
358 message+="\" has lines with a different number of columns.";
359 G4Exception("G4MicroElecCrossSectionDataSet_new::LoadData","em0005",
360 FatalException,message);
361 return false;
362 }
363
364 G4DataVector::size_type j(0);
365
366 G4DataVector *argEnergies=new G4DataVector;
367 G4DataVector *argData=new G4DataVector;
368
369 while(j<maxJ)
370 {
371 argEnergies->push_back(columns[0]->operator[] (j)*GetUnitEnergies());
372 argData->push_back(columns[i]->operator[] (j)*GetUnitData());
373 j++;
374 }
375
376 AddComponent(new G4EMDataSet(i-1, argEnergies, argData, GetAlgorithm()->Clone(), GetUnitEnergies(), GetUnitData()));
377
378 i++;
379 }
380
381 i=maxI;
382 while (i>0)
383 {
384 i--;
385 delete columns[i];
386 }
387
388 return true;
389}

References AddComponent(), CleanUpComponents(), FatalException, FullFileName(), G4Exception(), GetAlgorithm(), GetUnitData(), and GetUnitEnergies().

◆ NumberOfComponents()

size_t G4MicroElecCrossSectionDataSet_new::NumberOfComponents ( void  ) const
inlineoverridevirtual

Implements G4VEMDataSet.

Definition at line 51 of file G4MicroElecCrossSectionDataSet_new.hh.

52 { return components.size(); }

References components.

Referenced by PrintData(), G4MicroElecInelasticModel_new::RandomSelect(), and SaveData().

◆ operator=()

G4MicroElecCrossSectionDataSet_new & G4MicroElecCrossSectionDataSet_new::operator= ( const G4MicroElecCrossSectionDataSet_new right)
delete

◆ PrintData()

void G4MicroElecCrossSectionDataSet_new::PrintData ( void  ) const
overridevirtual

Implements G4VEMDataSet.

Definition at line 508 of file G4MicroElecCrossSectionDataSet_new.cc.

509{
510 const size_t n(NumberOfComponents());
511
512 G4cout << "The data set has " << n << " components" << G4endl;
513 G4cout << G4endl;
514
515 size_t i(0);
516
517 while (i<n)
518 {
519 G4cout << "--- Component " << i << " ---" << G4endl;
521 i++;
522 }
523}
virtual void PrintData(void) const =0

References G4cout, G4endl, GetComponent(), CLHEP::detail::n, NumberOfComponents(), and G4VEMDataSet::PrintData().

◆ RandomSelect()

G4double G4MicroElecCrossSectionDataSet_new::RandomSelect ( G4int  ) const
inlineoverridevirtual

Implements G4VEMDataSet.

Definition at line 70 of file G4MicroElecCrossSectionDataSet_new.hh.

71 { return -1.; };

◆ SaveData()

G4bool G4MicroElecCrossSectionDataSet_new::SaveData ( const G4String argFileName) const
overridevirtual

Implements G4VEMDataSet.

Definition at line 393 of file G4MicroElecCrossSectionDataSet_new.cc.

394{
395 const size_t n(NumberOfComponents());
396
397 if (n==0)
398 {
399 G4Exception("G4MicroElecCrossSectionDataSet_new::SaveData","em0005",
400 FatalException,"Expected at least one component");
401
402 return false;
403 }
404
405 G4String fullFileName(FullFileName(argFileName));
406 std::ofstream out(fullFileName);
407
408 if (!out.is_open())
409 {
410 G4String message("Cannot open \"");
411 message+=fullFileName;
412 message+="\"";
413 G4Exception("G4MicroElecCrossSectionDataSet_new::SaveData","em0005",
414 FatalException,message);
415 return false;
416 }
417
418 G4DataVector::const_iterator iEnergies(GetComponent(0)->GetEnergies(0).begin());
419 G4DataVector::const_iterator iEnergiesEnd(GetComponent(0)->GetEnergies(0).end());
420 G4DataVector::const_iterator * iData(new G4DataVector::const_iterator[n]);
421
422 size_t k(n);
423
424 while (k>0)
425 {
426 k--;
427 iData[k]=GetComponent(k)->GetData(0).begin();
428 }
429
430 while (iEnergies!=iEnergiesEnd)
431 {
432 out.precision(10);
433 out.width(15);
434 out.setf(std::ofstream::left);
435 out << ((*iEnergies)/GetUnitEnergies());
436
437 k=0;
438
439 while (k<n)
440 {
441 out << ' ';
442 out.precision(10);
443 out.width(15);
444 out.setf(std::ofstream::left);
445 out << ((*(iData[k]))/GetUnitData());
446
447 iData[k]++;
448 k++;
449 }
450
451 out << std::endl;
452
453 iEnergies++;
454 }
455
456 delete[] iData;
457
458 return true;
459}
const G4DataVector & GetEnergies(G4int componentId) const override

References FatalException, FullFileName(), G4Exception(), GetComponent(), G4VEMDataSet::GetData(), GetEnergies(), GetUnitData(), GetUnitEnergies(), CLHEP::detail::n, and NumberOfComponents().

◆ SetEnergiesData()

void G4MicroElecCrossSectionDataSet_new::SetEnergiesData ( G4DataVector x,
G4DataVector values,
G4int  componentId 
)
overridevirtual

Implements G4VEMDataSet.

Definition at line 527 of file G4MicroElecCrossSectionDataSet_new.cc.

530{
531 G4VEMDataSet * component(components[argComponentId]);
532
533 if (component)
534 {
535 component->SetEnergiesData(argEnergies, argData, 0);
536 return;
537 }
538
539 std::ostringstream message;
540 message << "Component " << argComponentId << " not found";
541
542 G4Exception("G4MicroElecCrossSectionDataSet_new::SetEnergiesData","em0005",
543 FatalException,message.str().c_str());
544
545}

References components, FatalException, G4Exception(), and G4VEMDataSet::SetEnergiesData().

◆ SetLogEnergiesData()

void G4MicroElecCrossSectionDataSet_new::SetLogEnergiesData ( G4DataVector x,
G4DataVector values,
G4DataVector log_x,
G4DataVector log_values,
G4int  componentId 
)
overridevirtual

Implements G4VEMDataSet.

Definition at line 549 of file G4MicroElecCrossSectionDataSet_new.cc.

554{
555 G4VEMDataSet * component(components[argComponentId]);
556
557 if (component)
558 {
559 component->SetLogEnergiesData(argEnergies, argData, argLogEnergies, argLogData, 0);
560 return;
561 }
562
563 std::ostringstream message;
564 message << "Component " << argComponentId << " not found";
565
566 G4Exception("G4MicroElecCrossSectionDataSet_new::SetLogEnergiesData","em0005",
567 FatalException,message.str().c_str());
568
569}

References components, FatalException, G4Exception(), and G4VEMDataSet::SetLogEnergiesData().

Field Documentation

◆ algorithm

G4VDataSetAlgorithm* G4MicroElecCrossSectionDataSet_new::algorithm
private

◆ components

std::vector<G4VEMDataSet*> G4MicroElecCrossSectionDataSet_new::components
private

◆ unitData

G4double G4MicroElecCrossSectionDataSet_new::unitData
private

Definition at line 87 of file G4MicroElecCrossSectionDataSet_new.hh.

Referenced by GetUnitData().

◆ unitEnergies

G4double G4MicroElecCrossSectionDataSet_new::unitEnergies
private

Definition at line 86 of file G4MicroElecCrossSectionDataSet_new.hh.

Referenced by GetUnitEnergies().


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