Hammer  1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Hammer::ProcessDefinitions Class Reference

Hammer settings manager class. More...

#include <ProcessDefinitions.hh>

+ Collaboration diagram for Hammer::ProcessDefinitions:

Public Member Functions

void write (flatbuffers::FlatBufferBuilder *msgwriter, flatbuffers::Offset< Serial::FBProcDefs > *msgs) const
 
bool read (const Serial::FBProcDefs *msgreader, bool merge)
 
void addIncludedDecay (const std::vector< VertexName > &decay)
 
void addForbiddenDecay (const std::vector< VertexName > &decay)
 
std::set< HashIddecayStringsToProcessIds (const std::vector< std::vector< VertexName >> &names) const
 
virtual bool isProcessIncluded (std::set< HashId > subamplitudes, ProcessUID processId) const
 
virtual void forbidProcess (ProcessUID processId) const
 
void init ()
 
Constructors
 ProcessDefinitions ()
 default constructor More...
 
 ProcessDefinitions (const ProcessDefinitions &other)=delete
 
ProcessDefinitionsoperator= (const ProcessDefinitions &other)=delete
 
 ProcessDefinitions (ProcessDefinitions &&other)=default
 
ProcessDefinitionsoperator= (ProcessDefinitions &&other)=default
 
virtual ~ProcessDefinitions () noexcept=default
 

Protected Member Functions

LoggetLog () const
 logging facility More...
 
std::vector< std::set< HashId > > includedDecaySignatures () const
 
std::vector< std::set< HashId > > forbiddenDecaySignatures () const
 
std::vector< std::set< HashId > > decaySignatures (const std::vector< std::vector< std::string >> &container) const
 

Private Attributes

std::vector< std::vector
< std::string > > 
_includedDecays
 the Hammer included decays More...
 
std::vector< std::vector
< std::string > > 
_forbiddenDecays
 the Hammer forbidden decays More...
 
std::vector< std::set< HashId > > _includedDecayCombos
 Included amplitude combinations. More...
 
std::vector< std::set< HashId > > _forbiddenDecayCombos
 Forbidden amplitude combinations. More...
 
ProcIdDict< std::set< HashId > > _includedProcesses
 Included process HashIds. More...
 
std::set< HashId_forbiddenProcesses
 Forbidden process HashIds. More...
 

Friends

struct YAML::convert<::Hammer::ProcessDefinitions >
 

Detailed Description

Hammer settings manager class.

Stores Hammer options, provides facilities for saving and reading option files, provides option query interface. It also provide a repository of other run-wide information, such as the bibliography associated to the specific run, the list of files being processed

Definition at line 44 of file ProcessDefinitions.hh.

Constructor & Destructor Documentation

Hammer::ProcessDefinitions::ProcessDefinitions ( )
inline

default constructor

Definition at line 51 of file ProcessDefinitions.hh.

Hammer::ProcessDefinitions::ProcessDefinitions ( const ProcessDefinitions other)
delete
Hammer::ProcessDefinitions::ProcessDefinitions ( ProcessDefinitions &&  other)
default
virtual Hammer::ProcessDefinitions::~ProcessDefinitions ( )
virtualdefaultnoexcept

Member Function Documentation

void Hammer::ProcessDefinitions::addForbiddenDecay ( const std::vector< VertexName > &  decay)
Parameters
[in]decay

Definition at line 144 of file ProcessDefinitions.cc.

void Hammer::ProcessDefinitions::addIncludedDecay ( const std::vector< VertexName > &  decay)
Parameters
[in]decay

Definition at line 140 of file ProcessDefinitions.cc.

vector< set< HashId > > Hammer::ProcessDefinitions::decaySignatures ( const std::vector< std::vector< std::string >> &  container) const
protected
Parameters
[in]container
Returns

Definition at line 156 of file ProcessDefinitions.cc.

set< HashId > Hammer::ProcessDefinitions::decayStringsToProcessIds ( const std::vector< std::vector< VertexName >> &  names) const

Definition at line 214 of file ProcessDefinitions.cc.

vector< set< HashId > > Hammer::ProcessDefinitions::forbiddenDecaySignatures ( ) const
protected
Returns

Definition at line 152 of file ProcessDefinitions.cc.

void Hammer::ProcessDefinitions::forbidProcess ( ProcessUID  processId) const
virtual
Parameters
[in]processId

Definition at line 227 of file ProcessDefinitions.cc.

Log & Hammer::ProcessDefinitions::getLog ( ) const
protected

logging facility

Returns
stream to be used for logging

Definition at line 31 of file ProcessDefinitions.cc.

vector< set< HashId > > Hammer::ProcessDefinitions::includedDecaySignatures ( ) const
protected
Returns

Definition at line 148 of file ProcessDefinitions.cc.

void Hammer::ProcessDefinitions::init ( )

Definition at line 232 of file ProcessDefinitions.cc.

bool Hammer::ProcessDefinitions::isProcessIncluded ( std::set< HashId subamplitudes,
ProcessUID  processId 
) const
virtual
Parameters
[in]subamplitudes
[in]processId
Returns

Definition at line 188 of file ProcessDefinitions.cc.

ProcessDefinitions& Hammer::ProcessDefinitions::operator= ( const ProcessDefinitions other)
delete
ProcessDefinitions& Hammer::ProcessDefinitions::operator= ( ProcessDefinitions &&  other)
default
bool Hammer::ProcessDefinitions::read ( const Serial::FBProcDefs *  msgreader,
bool  merge 
)

Definition at line 85 of file ProcessDefinitions.cc.

void Hammer::ProcessDefinitions::write ( flatbuffers::FlatBufferBuilder *  msgwriter,
flatbuffers::Offset< Serial::FBProcDefs > *  msgs 
) const

Definition at line 35 of file ProcessDefinitions.cc.

Friends And Related Function Documentation

friend struct YAML::convert<::Hammer::ProcessDefinitions >
friend

Definition at line 114 of file ProcessDefinitions.hh.

Member Data Documentation

std::vector<std::set<HashId> > Hammer::ProcessDefinitions::_forbiddenDecayCombos
private

Forbidden amplitude combinations.

A list of {the set of amplitude class HashIds} composing each forbidden process specification

Definition at line 128 of file ProcessDefinitions.hh.

std::vector<std::vector<std::string> > Hammer::ProcessDefinitions::_forbiddenDecays
private

the Hammer forbidden decays

Definition at line 121 of file ProcessDefinitions.hh.

std::set<HashId> Hammer::ProcessDefinitions::_forbiddenProcesses
mutableprivate

Forbidden process HashIds.

The set of {the full HashId} for each forbidden process, generated from the HashIds of the process' component amplitudes

Definition at line 136 of file ProcessDefinitions.hh.

std::vector<std::set<HashId> > Hammer::ProcessDefinitions::_includedDecayCombos
private

Included amplitude combinations.

A list of {the set of amplitude class HashIds} composing each included process specification

Definition at line 125 of file ProcessDefinitions.hh.

std::vector<std::vector<std::string> > Hammer::ProcessDefinitions::_includedDecays
private

the Hammer included decays

Definition at line 118 of file ProcessDefinitions.hh.

ProcIdDict<std::set<HashId> > Hammer::ProcessDefinitions::_includedProcesses
mutableprivate

Included process HashIds.

The set of {the full HashId} for each included process, generated from the HashIds of the process' component amplitudes

Definition at line 132 of file ProcessDefinitions.hh.


The documentation for this class was generated from the following files: