10#ifndef RISI_hpp_included
11#define RISI_hpp_included 1
36 Reaction(
double a_effectiveThreshold, std::vector<std::string>
const &a_products, std::vector<int>
const &a_multiplicities,
37 std::vector<std::string>
const &a_intermediates, std::string
const &a_process, std::string
const &reactionLabel,
38 std::string
const &convarianceFlag );
41 int multiplicity( std::string
const &a_productId )
const;
42 void products(
double a_energyMax, std::set<std::string> &a_products )
const ;
50 std::string m_projectile;
52 std::string m_evaluation;
53 std::string m_energyUnit;
54 double m_energyConversionFactor;
56 std::vector<std::pair<std::string, std::string> > m_aliases;
57 std::vector<Reaction *> m_reactions;
60 Protare( std::string
const &a_projectile, std::string
const &a_target, std::string
const &a_evaluation,
61 std::string
const &a_protareEnergyUnit, std::string
const &a_requestedEnergyUnit );
64 std::string
const &
projectile( ) {
return( m_projectile ); }
65 std::string
const &
target( ) {
return( m_target ); }
66 std::string
const &
evaluation( ) {
return( m_evaluation ); }
67 std::vector<Reaction *>
const &
reactions( )
const {
return( m_reactions ); }
69 void Oops( std::vector<std::string>
const &a_elements );
70 void addAlias( std::vector<std::string>
const &a_elements );
73 void addReaction( std::vector<std::string>
const &a_elements );
75 void add( std::vector<std::string>
const &a_elements );
77 void products(
Projectile const *a_projectile,
int a_level,
int a_maxLevel,
double a_energyMax, std::map<std::string, int> &a_products )
const ;
85 std::vector<Protare *> m_protares;
96 void products(
Projectile const *a_projectile,
int a_level,
int a_maxLevel,
double a_energyMax, std::map<std::string, int> &a_products )
const ;
97 void print( std::string
const &a_indent =
"" )
const ;
105 std::map<std::string, Target *> m_targets;
115 std::vector<std::string>
targetIds( )
const ;
116 void products( std::string
const &a_target,
int a_level,
int a_maxLevel,
double a_energyMax, std::map<std::string, int> &a_products )
const ;
117 std::vector<std::string>
filterProducts( std::vector<std::string>
const &a_productIds )
const ;
118 Target const *
target( std::string
const &a_targetName )
const;
119 void print( std::string
const &a_indent =
"" )
const ;
126 std::map<std::string, Projectile *> m_projectiles;
136 std::vector<std::string>
products( std::string
const &a_projectile, std::vector<std::string>
const &a_seedTargets,
int a_maxLevel,
137 double a_energyMax,
bool a_onlyIncludeTargets =
true )
const ;
138 void print( std::string
const &a_indent =
"" )
const ;
142void readRIS( std::string
const &a_fileName, std::string
const &a_energyUnit, Projectiles &a_projectiles );
Target const * target(std::string const &a_targetName) const
bool fissionPresent(std::vector< std::string > targetIds) const
void products(std::string const &a_target, int a_level, int a_maxLevel, double a_energyMax, std::map< std::string, int > &a_products) const
std::vector< std::string > filterProducts(std::vector< std::string > const &a_productIds) const
void printAsRIS_file() const
Projectile(std::string const &a_id)
std::vector< std::string > targetIds() const
void print(std::string const &a_indent="") const
void add(Protare *a_protare)
std::vector< std::string > projectileIds() const
void print(std::string const &a_indent="") const
std::vector< std::string > products(std::string const &a_projectile, std::vector< std::string > const &a_seedTargets, int a_maxLevel, double a_energyMax, bool a_onlyIncludeTargets=true) const
void printAsRIS_file() const
void add(Protare *a_protare)
Projectile const * projectile(std::string const &a_projectile) const
std::string const & target()
Protare(std::string const &a_projectile, std::string const &a_target, std::string const &a_evaluation, std::string const &a_protareEnergyUnit, std::string const &a_requestedEnergyUnit)
void addAlias(std::vector< std::string > const &a_elements)
std::string const & evaluation()
std::vector< Reaction * > const & reactions() const
std::string const & projectile()
void printAsRIS_file() const
void products(Projectile const *a_projectile, int a_level, int a_maxLevel, double a_energyMax, std::map< std::string, int > &a_products) const
void Oops(std::vector< std::string > const &a_elements)
bool fissionPresent() const
void add(std::vector< std::string > const &a_elements)
void addReaction(std::vector< std::string > const &a_elements)
void setAddingReactions()
std::vector< int > m_multiplicities
void products(double a_energyMax, std::set< std::string > &a_products) const
std::vector< std::string > m_products
std::vector< std::string > m_intermediates
std::string m_reactionLabel
std::string m_convarianceFlag
int multiplicity(std::string const &a_productId) const
double m_effectiveThreshold
void printAsRIS_file(int a_labelWidth) const
Reaction(double a_effectiveThreshold, std::vector< std::string > const &a_products, std::vector< int > const &a_multiplicities, std::vector< std::string > const &a_intermediates, std::string const &a_process, std::string const &reactionLabel, std::string const &convarianceFlag)
Target(std::string const &a_id)
void add(Protare *a_protare)
void products(Projectile const *a_projectile, int a_level, int a_maxLevel, double a_energyMax, std::map< std::string, int > &a_products) const
void print(std::string const &a_indent="") const
std::vector< Reaction * > const & reactions() const
bool fissionPresent() const
void printAsRIS_file() const
void readRIS(std::string const &a_fileName, std::string const &a_energyUnit, Projectiles &a_projectiles)