33#ifndef G4GIDI_hh_included
34#define G4GIDI_hh_included 1
36#define channelID std::string
53 std::string m_fileName;
54 std::string m_evaluation;
61 std::vector<int> m_elasticIndices;
62 std::vector<int> m_captureIndices;
63 std::vector<int> m_fissionIndices;
64 std::vector<int> m_othersIndices;
72 std::string
const *
getName( )
const {
return( &m_target ); }
73 std::string
const *
getFilename( )
const {
return( &m_fileName ); }
75 int getZ( )
const {
return( m_targetZ ); }
76 int getA( )
const {
return( m_targetA ); }
77 int getM( )
const {
return( m_targetM ); }
78 double getMass( )
const {
return( m_targetMass ); }
107 double (*a_rng)(
void * ),
void *a_rngState )
const ;
109 double (*a_rng)(
void * ),
void *a_rngState )
const ;
111 double getElasticFinalState(
double a_energy,
double a_temperature,
double (*a_rng)(
void * ),
void *a_rngState )
const ;
112 std::vector<G4GIDI_Product> *
getCaptureFinalState(
double a_energy,
double a_temperature,
double (*a_rng)(
void * ),
void *a_rngState )
const ;
113 std::vector<G4GIDI_Product> *
getFissionFinalState(
double a_energy,
double a_temperature,
double (*a_rng)(
void * ),
void *a_rngState )
const ;
114 std::vector<G4GIDI_Product> *
getOthersFinalState(
double a_energy,
double a_temperature,
double (*a_rng)(
void * ),
void *a_rngState )
const ;
115 std::vector<G4GIDI_Product> *
getFinalState( std::vector<int>
const &a_indices,
double a_energy,
double a_temperature,
116 double (*a_rng)(
void * ),
void *a_rngState )
const ;
117 std::vector<G4GIDI_Product> *
getFinalState(
int a_nIndices,
int const *a_indices,
double a_energy,
double a_temperature,
118 double (*a_rng)(
void * ),
void *a_rngState )
const ;
127 G4int m_projectileIP;
128 std::string m_projectile;
129 std::vector<GIDI::Map::Map *> m_maps;
130 std::vector<G4GIDI_target *> m_protares;
133 G4GIDI(
G4int a_ip, std::string
const &a_dataDirectory );
134 G4GIDI(
G4int a_ip, std::list<std::string>
const &a_dataDirectory );
146 bool isThisDataAvailable( std::string
const &a_lib_name, std::string
const &a_targetName )
const ;
149 std::string
dataFilename( std::string
const &lib_name, std::string
const &a_targetName )
const ;
int G4GIDI_versionMinor()
int G4GIDI_versionMajor()
std::string G4GIDI_Misc_Z_toSymbol(int a_Z)
int G4GIDI_versionPatchLevel()
std::string G4GIDI_Misc_Z_A_m_ToName(int a_Z, int a_A, int a_M)
void G4GIDI_initialize(std::string const &a_dataPath)
std::string G4GIDI_GitHash()
std::string G4GIDI_version()
PoPI::Database G4GIDI_pops
std::vector< int > const & othersIndices()
double sumChannelCrossSectionAtE(std::vector< int > const &a_indices, double a_energy, double a_temperature) const
G4GIDI_target(PoPI::Database const &a_pops, MCGIDI::DomainHash const &a_domainHash, GIDI::Protare const &a_GIDI_protare, MCGIDI::Protare *a_MCGIDI_protare)
channelID getChannelsID(int channelIndex) const
double getElasticFinalState(double a_energy, double a_temperature, double(*a_rng)(void *), void *a_rngState) const
int getNumberOfProductionChannels() const
double getFissionCrossSectionAtE(double a_energy, double a_temperature) const
std::string const * getName() const
std::vector< int > const & captureIndices()
double getTotalCrossSectionAtE(double a_energy, double a_temperature) const
std::string const * getEvaluation() const
std::vector< int > const & elasticIndices()
std::vector< G4GIDI_Product > * getFinalState(std::vector< int > const &a_indices, double a_energy, double a_temperature, double(*a_rng)(void *), void *a_rngState) const
double getElasticCrossSectionAtE(double a_energy, double a_temperature) const
std::vector< int > const & fissionIndices()
std::vector< G4GIDI_Product > * getCaptureFinalState(double a_energy, double a_temperature, double(*a_rng)(void *), void *a_rngState) const
std::vector< G4GIDI_Product > * getOthersFinalState(double a_energy, double a_temperature, double(*a_rng)(void *), void *a_rngState) const
double getOthersCrossSectionAtE(double a_energy, double a_temperature) const
int sampleChannelCrossSectionAtE(std::vector< int > const &a_indices, double a_energy, double a_temperature, double(*a_rng)(void *), void *a_rngState) const
int getNumberOfChannels() const
std::vector< G4GIDI_Product > * getFissionFinalState(double a_energy, double a_temperature, double(*a_rng)(void *), void *a_rngState) const
std::string const * getFilename() const
std::vector< channelID > * getProductionChannelIDs() const
std::vector< channelID > * getChannelIDs() const
double getCaptureCrossSectionAtE(double a_energy, double a_temperature) const
G4GIDI(G4int a_ip, std::string const &a_dataDirectory)
std::vector< std::string > * getListOfReadTargetsNames()
std::vector< std::string > * getDataDirectories() const
G4int projectileIP() const
std::vector< std::string > * getNamesOfAvailableLibraries(G4int a_Z, G4int a_A, G4int a_M=0) const
G4int addDataDirectory(std::string const &a_dataDirectory)
G4GIDI_target * readTarget(std::string const &lib_name, G4int a_Z, G4int a_A, G4int a_M=0, bool a_bind=true)
std::vector< std::string > * getNamesOfAvailableTargets() const
std::string const getDataDirectoryAtIndex(G4int a_index) const
G4int removeDataDirectory(std::string const &a_dataDirectory)
G4int freeTarget(G4int a_Z, G4int a_A, G4int a_M=0)
G4GIDI_target * getAlreadyReadTarget(G4int a_Z, G4int a_A, G4int a_M=0)
std::string dataFilename(std::string const &lib_name, G4int a_Z, G4int a_A, G4int a_M=0) const
G4int numberOfDataDirectories() const
bool isThisDataAvailable(std::string const &a_lib_name, G4int a_Z, G4int a_A, G4int a_M=0) const