6 #define GIDI_USE_BDFLS 0
8 #ifndef GIDI_settings_hpp_included
9 #define GIDI_settings_hpp_included 1
20 #if defined( __INTEL_COMPILER )
21 #pragma warning( push )
23 #if __INTEL_COMPILER > 1399
24 #pragma warning( disable:2021 )
25 #elif __INTEL_COMPILER > 1199
26 #pragma warning( disable:2304 )
31 #define GIDI_settings_projectileEnergyMode_continuousEnergy 1
32 #define GIDI_settings_projectileEnergyMode_grouped ( 1 << 1 )
33 #define GIDI_settings_projectileEnergyMode_fixedGrid ( 1 << 2 )
56 inline bool isLabel( std::string &label )
const {
return( label ==
mLabel ); }
57 void print(
bool outline =
false,
int valuesPerLine = 10 )
const;
60 void initialize( std::string
const &label,
int size,
int length,
double const *values );
66 class GIDI_settings_groups_from_bdfls {
69 std::vector<GIDI_settings_group> mGroups;
72 GIDI_settings_groups_from_bdfls( std::string
const &fileName );
73 GIDI_settings_groups_from_bdfls(
char const *fileName );
74 GIDI_settings_groups_from_bdfls( cbdfls_file
const *bdfls );
75 ~GIDI_settings_groups_from_bdfls( );
78 std::vector<std::string> getLabels(
void )
const;
79 std::vector<int> getGIDs(
void )
const;
80 void print(
bool outline =
true,
int valuesPerLine = 10 )
const;
84 void initialize2( cbdfls_file
const *bdfls );
102 double const *energies ,
103 double const *fluxes );
105 std::vector<double>
const &energies ,
106 std::vector<double>
const &fluxes );
114 void print(
int valuesPerLine = 10 )
const;
117 void initialize(
int order,
int length,
double const *energies,
double const *fluxes );
138 inline bool isLabel( std::string
const &label )
const {
return( label ==
mLabel ); }
139 inline bool isLabel(
char const *label )
const {
return( label ==
mLabel ); }
142 void print(
bool outline =
true,
int valuesPerLine = 10 )
const;
146 class GIDI_settings_fluxes_from_bdfls {
149 std::vector<GIDI_settings_flux> mFluxes;
152 GIDI_settings_fluxes_from_bdfls( std::string
const &fileName,
double temperature_MeV );
153 GIDI_settings_fluxes_from_bdfls(
char const *fileName,
double temperature_MeV );
154 GIDI_settings_fluxes_from_bdfls( cbdfls_file
const *bdfls,
double temperature_MeV );
155 ~GIDI_settings_fluxes_from_bdfls( );
158 std::vector<std::string> getLabels(
void );
159 std::vector<int> getFIDs(
void );
160 void print(
bool outline =
true,
int valuesPerLine = 10 );
163 void initialize(
char const *fileName,
double temperature_MeV );
164 void initialize2( cbdfls_file
const *bdfls,
double temperature_MeV );
197 int initialize(
int PoPId,
bool transporting,
int energyMode );
235 #if defined( __INTEL_COMPILER )
236 #pragma warning( pop )
239 #endif // End of GIDI_settings_hpp_included
double const * getFluxes(void) const
int getGroupIndexFromEnergy(double e_in, bool encloseOutOfRange) const
double const * pointer(void) const
void print(G4double elem)
std::string getLabel() const
GIDI_settings_particle const * getParticle(int PoPId) const
GIDI::ptwXPoints * mGroupX
int eraseParticle(int PoPId)
void print(int valuesPerLine=10) const
int getNumberOfGroups(void) const
GIDI::ptwXPoints * groupFunction(GIDI::statusMessageReporting *smr, GIDI::ptwXPoints *groupX, GIDI::ptwXYPoints *ptwXY1, int order) const
bool isEnergyMode_fixedGrid(void) const
#define GIDI_settings_projectileEnergyMode_fixedGrid
std::vector< GIDI_settings_processedFlux > mProcessedFluxes
std::vector< GIDI_settings_flux_order > mFluxOrders
double getTemperature() const
int getMaxOrder(void) const
struct statusMessageReporting statusMessageReporting
void print(bool outline=true, int valuesPerLine=10) const
bool isLabel(std::string &label) const
int getGroupIndexFromEnergy(double energy, bool encloseOutOfRange) const
int getNumberOfGroups(void) const
~GIDI_settings_processedFlux()
GIDI_settings_particle(int PoPId, bool transporting, int energyMode)
std::vector< GIDI::ptwXYPoints * > mFluxXY
GIDI_settings_flux_order(int order)
std::vector< double > mBoundaries
#define GIDI_settings_projectileEnergyMode_continuousEnergy
GIDI_settings_group getGroup(void) const
int addParticle(GIDI_settings_particle const &particle)
void initialize(int order, int length, double const *energies, double const *fluxes)
std::vector< double > mFluxes
bool isEnergyMode_continuous(void) const
void addFluxOrder(GIDI_settings_flux_order const &fluxOrder)
bool isEnergyMode_grouped(void) const
int getEnergyMode(void) const
void initialize(Config const *const theConfig)
Initialize the clustering model based on the Config object.
void setFromCDoubleArray(int length, double *values)
std::map< int, GIDI_settings_particle > mParticles
GIDI_settings_flux const * getFlux(double temperature) const
GIDI_settings_flux(std::string const &label, double temperature_MeV)
void initialize(std::string const &label, int size, int length, double const *values)
double operator[](int const index) const
double getTemperature() const
GIDI_settings_group mGroup
struct ptwXPoints_s ptwXPoints
GIDI_settings_processedFlux(GIDI_settings_flux const &flux, GIDI::ptwXPoints *groupX)
~GIDI_settings_flux_order()
GIDI_settings_group(std::string const &label="empty", int size=0)
std::vector< double > mEnergies
#define GIDI_settings_projectileEnergyMode_grouped
bool isLabel(char const *label) const
double const * getEnergies(void) const
GIDI_settings_processedFlux const * nearestFluxToTemperature(double temperature) const
GIDI_settings_flux const * getProcessedFlux(double temperature) const
GIDI_settings_flux_order const * operator[](int order) const
struct ptwXYPoints_s ptwXYPoints
bool getTransporting(void) const
int addFlux(GIDI::statusMessageReporting *smr, GIDI_settings_flux const &flux)
std::string getLabel() const
std::vector< GIDI::ptwXPoints * > mGroupedFlux
void print(bool outline=false, int valuesPerLine=10) const
void setGroup(GIDI_settings_group const &group)
~GIDI_settings_particle()
GIDI::ptwXPoints * groupFunction(GIDI::statusMessageReporting *smr, GIDI::ptwXYPoints *ptwXY1, double temperature, int order) const
bool isLabel(std::string const &label) const
int initialize(int PoPId, bool transporting, int energyMode)