Hammer
1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
|
Decay process class. More...
#include <Process.hh>
Public Types | |
using | TreeMap = std::map< ParticleIndex, ParticleIndices > |
using | const_iterator = TreeMap::const_iterator |
Public Member Functions | |
Process () | |
Process (const Process &other)=default | |
Process & | operator= (const Process &other)=default |
Process (Process &&other)=default | |
Process & | operator= (Process &&other)=default |
~Process () noexcept=default | |
const_iterator | begin () const |
const_iterator | end () const |
const_iterator | find (ParticleIndex particle) const |
ParticleIndex | addParticle (const Particle &p) |
void | addVertex (ParticleIndex parent, const ParticleIndices &daughters) |
void | removeVertex (ParticleIndex parent, bool prune=false) |
const ParticleIndices & | getDaughtersIds (ParticleIndex parent=0) const |
ParticleIndex | getParentId (ParticleIndex daughter) const |
ParticleIndices | getSiblingsIds (ParticleIndex particle=0) const |
const Particle & | getParticle (ParticleIndex id) const |
ParticleList | getDaughters (ParticleIndex parent=0, bool sorted=false) const |
ParticleList | getSiblings (ParticleIndex particle=0, bool sorted=false) const |
const Particle & | getParent (ParticleIndex daughter) const |
bool | isParent (ParticleIndex particle) const |
ParticleIndex | getFirstVertex () const |
HashId | getId () const |
const std::set< HashId > & | fullId () const |
std::pair< Particle, ParticleList > | getParticlesByVertex (PdgId parent, std::vector< PdgId > daughters) const |
std::pair< Particle, ParticleList > | getParticlesByVertex (std::string vertex) const |
HashId | getVertexId (std::string vertex) const |
bool | initialize () |
void | disable () |
void | write (flatbuffers::FlatBufferBuilder *msgwriter, flatbuffers::Offset< Serial::FBProcIDs > *msg) const |
void | read (const Serial::FBProcIDs *msgreader) |
size_t | numParticles (bool withoutPhotons=false) const |
Public Member Functions inherited from Hammer::SettingsConsumer | |
virtual void | setSettingsHandler (SettingsHandler &sh) |
set link to settings repository handler. More... | |
void | setSettingsHandler (const SettingsConsumer &other) |
SettingsHandler * | getSettingsHandler () const |
provide the pointer to the repository handler More... | |
WTerm | setWeightTerm (WTerm group) |
virtual void | addRefs () const |
SettingsConsumer () | |
base constructor More... | |
SettingsConsumer (const SettingsConsumer &)=default | |
default copy constructor More... | |
SettingsConsumer & | operator= (const SettingsConsumer &)=default |
virtual | ~SettingsConsumer () |
virtual destructor More... | |
Private Member Functions | |
virtual void | defineSettings () |
purely virtual function for a class to define new settings More... | |
Log & | getLog () const |
logging facility More... | |
void | pruneSoftPhotons () |
void | calcSignatures () |
ParticleIndex | findFirstVertex () const |
void | cacheParticleDependencies () |
ParticleList | sortByParent (ParticleIndex parent, ParticleList parts) const |
Private Attributes | |
ParticleList | _particles |
TreeMap | _processTree |
ProcessUID | _hashId |
VertexUIDSet | _fullId |
ProcIdDict< ParticleIndex > | _idTree |
ParticleIndex | _firstVertexIdx = std::numeric_limits<size_t>::max() |
std::unordered_map < ParticleIndex, ParticleIndex > | _parentDict |
UniqueParticleIndices | _erasedGammas |
bool | _initialized = false |
Additional Inherited Members | |
Protected Member Functions inherited from Hammer::SettingsConsumer | |
Log & | getLog () const |
logging facility More... | |
void | initSettings () |
void | setPath (const std::string &path) |
provide the basic path for the settings defined by this class, as in "<path>:<setting>" More... | |
template<typename T > | |
void | addSetting (const std::string &name, const T &defaultValue) |
template method to add a new setting More... | |
void | removeSetting (const std::string &name) |
template<typename T > | |
T * | getSetting (const std::string &name) const |
template method to return a setting defined by this class More... | |
template<typename T > | |
T * | getSetting (const std::string &otherPath, const std::string &name) const |
template method to return a setting defined by this class More... | |
bool | isOn (const std::string &name) const |
method to check a boolean setting defined by this class More... | |
bool | isOn (const std::string &otherPath, const std::string &name) const |
method to check a boolean setting by its name and path More... | |
template<typename T > | |
void | updateVectorOfSettings (const std::vector< T > &values, const std::vector< std::string > &names, const std::string &path="", WTerm group=WTerm::COMMON) |
template<typename T > | |
void | updateVectorOfSettings (const std::map< std::string, T > &values, const std::string &path="", WTerm group=WTerm::COMMON) |
Protected Attributes inherited from Hammer::SettingsConsumer | |
SettingsHandler * | _settingHandler |
pointer to the settings repository handler. More... | |
std::string | _settingPath |
path of the settings defined by this class More... | |
WTerm | _group |
std::set< std::string > | _ownedSettings |
Decay process class.
Contains the amplitudes, weights and info associated to a decay, ...
Definition at line 34 of file Process.hh.
using Hammer::Process::const_iterator = TreeMap::const_iterator |
Definition at line 49 of file Process.hh.
using Hammer::Process::TreeMap = std::map<ParticleIndex, ParticleIndices> |
Definition at line 48 of file Process.hh.
Hammer::Process::Process | ( | ) |
Definition at line 27 of file Process.cc.
|
default |
|
default |
|
defaultnoexcept |
ParticleIndex Hammer::Process::addParticle | ( | const Particle & | p | ) |
void Hammer::Process::addVertex | ( | ParticleIndex | parent, |
const ParticleIndices & | daughters | ||
) |
[in] | parent | |
[in] | daughters |
Definition at line 59 of file Process.cc.
Process::const_iterator Hammer::Process::begin | ( | ) | const |
Definition at line 40 of file Process.cc.
|
private |
Definition at line 257 of file Process.cc.
|
private |
Definition at line 371 of file Process.cc.
|
privatevirtual |
purely virtual function for a class to define new settings
Implements Hammer::SettingsConsumer.
Definition at line 425 of file Process.cc.
void Hammer::Process::disable | ( | ) |
Definition at line 397 of file Process.cc.
Process::const_iterator Hammer::Process::end | ( | ) | const |
Definition at line 44 of file Process.cc.
Process::const_iterator Hammer::Process::find | ( | ParticleIndex | particle | ) | const |
Definition at line 48 of file Process.cc.
|
private |
Definition at line 242 of file Process.cc.
const set< HashId > & Hammer::Process::fullId | ( | ) | const |
Definition at line 393 of file Process.cc.
ParticleList Hammer::Process::getDaughters | ( | ParticleIndex | parent = 0 , |
bool | sorted = false |
||
) | const |
const ParticleIndices & Hammer::Process::getDaughtersIds | ( | ParticleIndex | parent = 0 | ) | const |
ParticleIndex Hammer::Process::getFirstVertex | ( | ) | const |
Definition at line 235 of file Process.cc.
HashId Hammer::Process::getId | ( | ) | const |
Definition at line 389 of file Process.cc.
|
private |
const Particle & Hammer::Process::getParent | ( | ParticleIndex | daughter | ) | const |
ParticleIndex Hammer::Process::getParentId | ( | ParticleIndex | daughter | ) | const |
const Particle & Hammer::Process::getParticle | ( | ParticleIndex | id | ) | const |
pair< Particle, ParticleList > Hammer::Process::getParticlesByVertex | ( | PdgId | parent, |
std::vector< PdgId > | daughters | ||
) | const |
pair< Particle, ParticleList > Hammer::Process::getParticlesByVertex | ( | std::string | vertex | ) | const |
ParticleList Hammer::Process::getSiblings | ( | ParticleIndex | particle = 0 , |
bool | sorted = false |
||
) | const |
ParticleIndices Hammer::Process::getSiblingsIds | ( | ParticleIndex | particle = 0 | ) | const |
HashId Hammer::Process::getVertexId | ( | std::string | vertex | ) | const |
bool Hammer::Process::initialize | ( | ) |
Definition at line 275 of file Process.cc.
bool Hammer::Process::isParent | ( | ParticleIndex | particle | ) | const |
Definition at line 182 of file Process.cc.
size_t Hammer::Process::numParticles | ( | bool | withoutPhotons = false | ) | const |
Definition at line 231 of file Process.cc.
|
private |
Definition at line 290 of file Process.cc.
void Hammer::Process::read | ( | const Serial::FBProcIDs * | msgreader | ) |
[in] | msgreader |
Definition at line 414 of file Process.cc.
void Hammer::Process::removeVertex | ( | ParticleIndex | parent, |
bool | prune = false |
||
) |
[in] | parent | |
[in] | prune |
Definition at line 72 of file Process.cc.
|
private |
Definition at line 135 of file Process.cc.
void Hammer::Process::write | ( | flatbuffers::FlatBufferBuilder * | msgwriter, |
flatbuffers::Offset< Serial::FBProcIDs > * | msg | ||
) | const |
[in] | msgwriter | |
[in] | msg |
Definition at line 402 of file Process.cc.
|
private |
Definition at line 187 of file Process.hh.
|
private |
Definition at line 185 of file Process.hh.
|
private |
Definition at line 182 of file Process.hh.
|
private |
Definition at line 181 of file Process.hh.
|
private |
Definition at line 183 of file Process.hh.
|
private |
Definition at line 188 of file Process.hh.
|
private |
Definition at line 186 of file Process.hh.
|
private |
Definition at line 178 of file Process.hh.
|
private |
Definition at line 179 of file Process.hh.