12 #ifndef HAMMER_SCHEMEDEFINITIONS_HH
13 #define HAMMER_SCHEMEDEFINITIONS_HH
21 #include <type_traits>
23 #include <boost/variant.hpp>
30 #include "yaml-cpp/yaml.h"
67 void write(flatbuffers::FlatBufferBuilder* msgwriter,
68 std::vector<flatbuffers::Offset<Serial::FBFFScheme>>* msgs) const;
70 bool read(const Serial::FBHeader* msgreader,
bool merge);
77 void addFFScheme(const std::
string& schemeName, const std::map<std::
string, std::
string>& schemes);
125 void init(std::map<
HashId, std::vector<std::
string>> formFactGroups);
148 YAML::Emitter& operator<<(YAML::Emitter& out, const SchemeDefinitions& s);
157 static Node encode(const ::Hammer::SchemeDefinitions& value);
Forward declaration of serialization related typedefs and includes.
Hammer data types declarations.
virtual SchemeDict< FFIndex > getFFSchemesForProcess(HadronicUID id) const
virtual FFIndex getDenominatorFormFactor(HadronicUID processId) const
bool read(const Serial::FBHeader *msgreader, bool merge)
virtual std::set< FFIndex > getFormFactorIndices(HadronicUID processId) const
virtual const SchemeDict< ProcIdDict< FFIndex > > & getSchemeDefs() const
void addFFScheme(const std::string &schemeName, const std::map< std::string, std::string > &schemes)
std::map< HadronicUID, T > HadronicIdDict
Message logging routines.
SchemeDict< std::map< std::string, std::string > > _formFactorSchemeNames
the Hammer numerator form factor schemes
Pdg forward declarations.
const HadronicIdDict< std::string > getScheme(const std::string &schemeName="") const
SchemeDict< ProcIdDict< FFIndex > > _formFactorSchemes
Selected formfactors by subprocess.
void write(flatbuffers::FlatBufferBuilder *msgwriter, std::vector< flatbuffers::Offset< Serial::FBFFScheme >> *msgs) const
void setFFInputScheme(const std::map< std::string, std::string > &schemes)
void removeFFScheme(const std::string &schemeName)
SchemeDefinitions & operator=(const SchemeDefinitions &other)=delete
std::map< ProcessUID, T > ProcIdDict
std::vector< SchemeName > SchemeNameList
std::map< std::string, std::string > _formFactorBase
the Hammer denominator form factor scheme
std::map< SchemeName, T > SchemeDict
HadronicIdDict< NewLabelsByGroup > getFFDuplicates() const
virtual ~SchemeDefinitions() noexcept=default
void init(std::map< HashId, std::vector< std::string >> formFactGroups)
SchemeNameList getFFSchemeNames() const
SchemeDefinitions()
default constructor
Hammer settings manager class.
Log & getLog() const
logging facility
std::map< std::string, std::vector< std::string >> NewLabelsByGroup