MURE
Loading...
Searching...
No Matches
XSDIRLine.hxx
Go to the documentation of this file.
1/*
2 This file is part of MURE,
3 Copyright (C) 2007-2021 MURE developers.
4
5 MURE is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 MURE is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with MURE. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef _XSDIRLine_
20#define _XSDIRLine_
21
27#include <cstdlib>
28#include <cstring>
29#include <iostream>
30
31#include "StringLine.hxx"
32
33using namespace std;
34
35const double kTperK = 8.617e-11;
36
38
42class XSDIRLine: public StringLine
43{
44
45 public:
52 XSDIRLine(string *line, int n);
58 XSDIRLine(string line);
59 double GetMass()
60 {
61 return fMass;
62 }
64 {
65 return fTemperature;
66 }
68 {
69 return fTemperature;
70 }
72 {
73 return fDataType;
74 }
76 {
77 return fStartRecord;
78 }
80 {
81 return fTableLength;
82 }
84 {
85 return fRecordLength;
86 }
88 {
89 return fEntriesPerRecord;
90 }
91 int GetZA()
92 {
93 return atoi(fIsotopeName.c_str());
94 }
95 int Z()
96 {
97 return fZ;
98 }
99 int A()
100 {
101 return fA;
102 }
103 int I()
104 {
105 return fI;
106 }
107 void SetZ(int aZ)
108 {
109 fZ = aZ;
110 }
111 void SetA(int aA)
112 {
113 fA = aA;
114 }
115 void SetI(int aI)
116 {
117 fI = aI;
118 }
119 string GetPtable()
120 {
121 return fPtable;
122 }
124 {
125 return fExtension;
126 }
128 {
129 return fExtension[3];
130 }
132 {
133 return fXSFileName;
134 }
136 {
137 return fIsotopeName;
138 }
139 string GetDirLine()
140 {
141 return fDirLine;
142 }
143 string GetPath()
144 {
145 return fPath;
146 }
147
149
155 void PrintFormatted(string BaseName, string BaseVersion, string Builder, ostream &Out = cout);
156 void AddNewPathInDirLine(string path);
157
158 private:
159
160 void ClearDoubleSpace(string &Line);
161 void ReadLine();
162 void SpecialMTCase();
163 void ContinuationSymbol(string *Line, int N);
164
167
168 double fMass;
171 string fXSFileName;
173 string fExtension;
178 string fPath;
179 string fPtable;
180 string fDirLine;
181 int fZ;
182 int fA;
183 int fI;
184};
185
186#endif
Header file for StingLine class.
const double kTperK
Value of kT per kelvin in MeV.
Definition XSDIRLine.hxx:35
Class extracting fields from a string / line.
Definition StringLine.hxx:70
Extract all parameters from an XSDIR line.
Definition XSDIRLine.hxx:43
void SetA(int aA)
Definition XSDIRLine.hxx:111
char fContinuationSymbol
Continuation symbol in xsdir (a "+" or "&")
Definition XSDIRLine.hxx:165
string GetIsotopeName()
Definition XSDIRLine.hxx:135
void AddNewPathInDirLine(string path)
modify rhe path in the xsdir line (for futher building of xsdir)
Definition XSDIRLine.cxx:277
int GetTableLength()
Definition XSDIRLine.hxx:79
void SetZ(int aZ)
Definition XSDIRLine.hxx:107
string GetExtension()
Definition XSDIRLine.hxx:123
double GetTemperature()
Definition XSDIRLine.hxx:63
int GetDataType()
Definition XSDIRLine.hxx:71
int GetStartRecord()
Definition XSDIRLine.hxx:75
string GetPtable()
Definition XSDIRLine.hxx:119
void ReadLine()
extracts data from the xsdir line
Definition XSDIRLine.cxx:67
int fContinuationPosition
Position of Continuation symbol in the Current fLine.
Definition XSDIRLine.hxx:166
string GetDirLine()
Definition XSDIRLine.hxx:139
void SetI(int aI)
Definition XSDIRLine.hxx:115
string fXSFileName
File Name of the Original ENDF Library.
Definition XSDIRLine.hxx:171
char GetExtensionType()
Definition XSDIRLine.hxx:127
double GetMass()
Definition XSDIRLine.hxx:59
string fDirLine
the whole Line
Definition XSDIRLine.hxx:180
int fZ
number of protons
Definition XSDIRLine.hxx:181
string fExtension
Isotope extension (e.g. ".60c")
Definition XSDIRLine.hxx:173
int GetZA()
Definition XSDIRLine.hxx:91
int fEntriesPerRecord
Number of entries per record.
Definition XSDIRLine.hxx:177
int GetRecordLength()
Definition XSDIRLine.hxx:83
int Z()
Definition XSDIRLine.hxx:95
int fDataType
Data Type (1=ascii, 2=binary)
Definition XSDIRLine.hxx:170
string GetXSFileName()
Definition XSDIRLine.hxx:131
int A()
Definition XSDIRLine.hxx:99
string GetPath()
Definition XSDIRLine.hxx:143
void SpecialMTCase()
special MT code of ENDB6
Definition XSDIRLine.cxx:182
double fMass
Mass of an isotope in neutron mass unit (MCNP convention)
Definition XSDIRLine.hxx:168
string fIsotopeName
Isotope Name of the Original ENDF Library.
Definition XSDIRLine.hxx:172
void ContinuationSymbol(string *Line, int N)
find the continuation symbol ("+" or "&") and its position
Definition XSDIRLine.cxx:135
int fRecordLength
Length of a record.
Definition XSDIRLine.hxx:176
void PrintFormatted(string BaseName, string BaseVersion, string Builder, ostream &Out=cout)
Print XSDIRLine in a special format for BaseSummary.dat file.
Definition XSDIRLine.cxx:175
double fTemperature
Temperature of the Cross-section.
Definition XSDIRLine.hxx:169
void ClearDoubleSpace(string &Line)
clear double space in a line
Definition XSDIRLine.cxx:164
int fI
Isomeric state (Ground State, ith excited)
Definition XSDIRLine.hxx:183
double GetTemperatureInMeV()
Definition XSDIRLine.hxx:67
int I()
Definition XSDIRLine.hxx:103
string fPath
the path where to find library if given else 0
Definition XSDIRLine.hxx:178
int fTableLength
Length of the second block (XS table)
Definition XSDIRLine.hxx:175
int GetEntriesPerRecord()
Definition XSDIRLine.hxx:87
int fA
number of nucleons (A=0 means natural isotopes)
Definition XSDIRLine.hxx:182
int fStartRecord
First Start Record for the Isotope.
Definition XSDIRLine.hxx:174
string fPtable
ptable card (if exists)
Definition XSDIRLine.hxx:179
the namespace of the Standard C++

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024