12 #ifndef HAMMER_PROCESSDEFINITIONS_HH
13 #define HAMMER_PROCESSDEFINITIONS_HH
21 #include <type_traits>
23 #include <boost/variant.hpp>
30 #include "yaml-cpp/yaml.h"
68 void write(flatbuffers::FlatBufferBuilder* msgwriter,
69 flatbuffers::Offset<Serial::FBProcDefs>* msgs) const;
71 bool read(const Serial::FBProcDefs* msgreader,
bool merge);
97 std::vector<std::set<
HashId>>
decaySignatures(const std::vector<std::vector<std::
string>>& container) const;
141 YAML::Emitter& operator<<(YAML::Emitter& out, const ProcessDefinitions& s);
150 static Node encode(const ::Hammer::ProcessDefinitions& value);
void addForbiddenDecay(const std::vector< VertexName > &decay)
virtual void forbidProcess(ProcessUID processId) const
Forward declaration of serialization related typedefs and includes.
std::vector< std::set< HashId > > _forbiddenDecayCombos
Forbidden amplitude combinations.
std::set< HashId > _forbiddenProcesses
Forbidden process HashIds.
Hammer data types declarations.
std::vector< std::set< HashId > > forbiddenDecaySignatures() const
virtual ~ProcessDefinitions() noexcept=default
Log & getLog() const
logging facility
std::vector< std::vector< std::string > > _forbiddenDecays
the Hammer forbidden decays
std::vector< std::set< HashId > > includedDecaySignatures() const
Message logging routines.
std::set< HashId > decayStringsToProcessIds(const std::vector< std::vector< VertexName >> &names) const
void addIncludedDecay(const std::vector< VertexName > &decay)
virtual bool isProcessIncluded(std::set< HashId > subamplitudes, ProcessUID processId) const
Pdg forward declarations.
std::vector< std::vector< std::string > > _includedDecays
the Hammer included decays
ProcessDefinitions()
default constructor
std::vector< std::set< HashId > > _includedDecayCombos
Included amplitude combinations.
ProcIdDict< std::set< HashId > > _includedProcesses
Included process HashIds.
Hammer settings manager class.
std::vector< std::set< HashId > > decaySignatures(const std::vector< std::vector< std::string >> &container) const
void write(flatbuffers::FlatBufferBuilder *msgwriter, flatbuffers::Offset< Serial::FBProcDefs > *msgs) const
bool read(const Serial::FBProcDefs *msgreader, bool merge)
std::map< ProcessUID, T > ProcIdDict
ProcessDefinitions & operator=(const ProcessDefinitions &other)=delete