ATLAS Offline Software
|
L1 board configuration. More...
#include <L1BunchGroupSet.h>
Public Types | |
typedef uint16_t | bgPattern_t |
type for bunchgroup pattern bitset More... | |
using | ptree = boost::property_tree::ptree |
Public Member Functions | |
L1BunchGroupSet () | |
Constructor. More... | |
L1BunchGroupSet (const L1BunchGroupSet &)=default | |
L1BunchGroupSet & | operator= (const L1BunchGroupSet &)=delete |
L1BunchGroupSet (L1BunchGroupSet &&)=delete | |
L1BunchGroupSet (const ptree &data) | |
Constructor initialized with configuration data. More... | |
virtual | ~L1BunchGroupSet () |
Destructor. More... | |
virtual std::string | className () const override |
A string that is the name of the class. More... | |
unsigned int | bgsk () const |
setter and getter for the bunch group key More... | |
void | setBGSK (unsigned int bgsk) |
const std::shared_ptr< L1BunchGroup > & | getBunchGroup (const std::string &name) const |
Accessor to the bunchgroup by name. More... | |
const std::shared_ptr< L1BunchGroup > & | getBunchGroup (size_t id) const |
Accessor to the bunchgroup by ID. More... | |
constexpr std::size_t | maxNBunchGroups () const |
Maximum number of bunchgroups. More... | |
std::size_t | size () const |
Accessor to the number of defined bunchgroups. More... | |
std::size_t | sizeNonEmpty () const |
Accessor to the number of non-empty bunchgroups. More... | |
bgPattern_t | bgPattern (size_t bcid) const |
Return word with bit-pattern of fired bunchgroups for given bcid. More... | |
void | printSummary (bool detailed=false) const |
print a more or less detailed summary More... | |
virtual void | clear () override |
Clearing the configuration data. More... | |
void | setData (const ptree &data) |
Setting the configuration data. More... | |
void | setData (ptree &&data) |
void | setName (const std::string &n) |
Setting the configuration element name. More... | |
virtual const std::string & | name () const final |
const ptree & | data () const |
Access to the underlying data, if needed. More... | |
bool | isValue () const |
Check for attribute. More... | |
std::string | getValue () const |
Access to simple content. More... | |
template<class T > | |
T | getValue () const |
template<class T > | |
std::optional< T > | getValue_optional () const |
access to content of the note Will return false if the value could not be converted into T More... | |
bool | hasAttribute (const std::string &key) const |
Check for attribute. More... | |
bool | isNull (const std::string &key) const |
Check if an attribute is null. More... | |
bool | hasChild (const std::string &path) const |
Check if child exists. More... | |
std::string | operator[] (const std::string &key) const |
Access to simple attribute. More... | |
template<class T > | |
T | getAttribute (const std::string &key, bool ignoreIfMissing=false, const T &def=T()) const |
Access to simple attribute. More... | |
const std::string & | getAttribute (const std::string &key, bool ignoreIfMissing=false, const std::string &def="") const |
template<class T > | |
std::optional< T > | getAttribute_optional (const std::string &key) const |
std::vector< DataStructure > | getList (const std::string &pathToChild, bool ignoreIfMissing=false) const |
Access to array structure. More... | |
std::optional< std::vector< DataStructure > > | getList_optional (const std::string &pathToChild) const |
DataStructure | getObject (const std::string &pathToChild, bool ignoreIfMissing=false) const |
Access to configuration object. More... | |
std::optional< TrigConf::DataStructure > | getObject_optional (const std::string &pathToChild) const |
std::vector< std::string > | getKeys () const |
Access to the keys of an DataStructure which presents a dictionary. More... | |
operator bool () const | |
Access to initialized state. More... | |
bool | isValid () const |
bool | isInitialized () const |
bool | empty () const |
Check if children exist. More... | |
void | printRaw (std::ostream &os=std::cout) const |
virtual void | print (std::ostream &os=std::cout) const |
bool | ownsData () const |
Static Public Member Functions | |
static void | printElement (const std::string &key, const ptree &data, uint level=0, std::ostream &os=std::cout) |
Static function to print a ptree object. More... | |
Protected Attributes | |
bool | m_initialized { false } |
if initialized, the underlying ptree is has been assigned to (can be empty) More... | |
std::shared_ptr< ptree > | m_dataSPtr { nullptr } |
const ptree * | m_dataPtr { nullptr } |
std::string | m_name {""} |
Private Member Functions | |
virtual void | update () override |
Update the internal members. More... | |
void | load () |
Private Attributes | |
unsigned int | m_bgsk {0} |
the bunch group key More... | |
std::map< std::string, size_t > | m_bunchGroupsByName |
maps bgrp name (BGRP0, BGRP1,...) to bunchgroup More... | |
std::vector< std::shared_ptr< L1BunchGroup > > | m_bunchGroups |
vector of size 16 (L1BunchGroup::s_maxBunchGroups More... | |
Static Private Attributes | |
static const size_t | s_maxBunchGroups { 16 } |
Hardware limit for number of bunch group. More... | |
L1 board configuration.
Definition at line 71 of file L1BunchGroupSet.h.
typedef uint16_t TrigConf::L1BunchGroupSet::bgPattern_t |
type for bunchgroup pattern bitset
Definition at line 75 of file L1BunchGroupSet.h.
|
inherited |
Definition at line 40 of file DataStructure.h.
TrigConf::L1BunchGroupSet::L1BunchGroupSet | ( | ) |
|
default |
|
delete |
Constructor initialized with configuration data.
data | The data containing the L1 menu |
Definition at line 83 of file L1BunchGroupSet.cxx.
|
virtual |
TrigConf::L1BunchGroupSet::bgPattern_t TrigConf::L1BunchGroupSet::bgPattern | ( | size_t | bcid | ) | const |
Return word with bit-pattern of fired bunchgroups for given bcid.
Definition at line 138 of file L1BunchGroupSet.cxx.
|
inline |
|
inlineoverridevirtual |
A string that is the name of the class.
Reimplemented from TrigConf::DataStructure.
Definition at line 92 of file L1BunchGroupSet.h.
|
overridevirtual |
Clearing the configuration data.
Reimplemented from TrigConf::DataStructure.
Definition at line 110 of file L1BunchGroupSet.cxx.
Access to the underlying data, if needed.
Definition at line 83 of file DataStructure.h.
|
inlineinherited |
|
inherited |
Definition at line 136 of file DataStructure.cxx.
|
inlineinherited |
Access to simple attribute.
key | The path to the attribute name, relative to the current one in form "path.to.child" |
ignoreIfMissing | Controls the behavior in case of missing configuration child |
Definition at line 152 of file DataStructure.h.
|
inlineinherited |
const std::shared_ptr< TrigConf::L1BunchGroup > & TrigConf::L1BunchGroupSet::getBunchGroup | ( | const std::string & | name | ) | const |
Accessor to the bunchgroup by name.
name | - name as used in the L1Menu (BGRP0, BGRP1, ..., BGRP15) |
Definition at line 118 of file L1BunchGroupSet.cxx.
const std::shared_ptr< TrigConf::L1BunchGroup > & TrigConf::L1BunchGroupSet::getBunchGroup | ( | size_t | id | ) | const |
Accessor to the bunchgroup by ID.
Definition at line 123 of file L1BunchGroupSet.cxx.
|
inherited |
Access to the keys of an DataStructure which presents a dictionary.
In case the DataStructure is a list or a simple attribute, an empty vector is returned
Definition at line 250 of file DataStructure.cxx.
|
inherited |
Access to array structure.
pathToChild | The path to the configuration child, relative to the current one in form "path.to.child" |
ignoreIfMissing | Controls the behavior in case of missing configuration child |
In case the child is missing and ignoreIfMissing
is set to true
, and empty vector will be returned. Otherwise a runtime exception will be thrown.
Definition at line 158 of file DataStructure.cxx.
|
inherited |
|
inherited |
Access to configuration object.
pathToChild | The path to the configuration child, relative to the current one |
ignoreIfMissing | Controls the behavior in case of missing configuration child |
In case the child is missing and ignoreIfMissing
is set to true
, an uninitialized DataStructure
will be returned. Otherwise a runtime exception will be thrown.
Definition at line 207 of file DataStructure.cxx.
|
inherited |
Definition at line 230 of file DataStructure.cxx.
|
inherited |
Access to simple content.
For instance when the json structure contains an array of values (ptree only works with strings) which one retrieved via getList
, then the values in the vector<DataStructure>
can be accessed using getValue
Definition at line 80 of file DataStructure.cxx.
|
inlineinherited |
Definition at line 108 of file DataStructure.h.
|
inlineinherited |
|
inherited |
Check for attribute.
key | The path to the attribute name, relative to the current one in form "path.to.child" |
key
exists and is an attribute Definition at line 86 of file DataStructure.cxx.
|
inherited |
Check if child exists.
path | The path to the child, relative to the current one in form "path.to.child" |
Definition at line 114 of file DataStructure.cxx.
|
inlineinherited |
Definition at line 216 of file DataStructure.h.
|
inherited |
Check if an attribute is null.
key | The path to the attribute name, relative to the current one in form "path.to.child" |
key
exists and is nullIf the attribute doesn't exist, the function returns false. To check if an attribute exists and is null, use it together with hasAttribute
.
Definition at line 94 of file DataStructure.cxx.
|
inlineinherited |
Definition at line 215 of file DataStructure.h.
|
inherited |
Check for attribute.
Definition at line 74 of file DataStructure.cxx.
|
private |
Definition at line 93 of file L1BunchGroupSet.cxx.
|
inlineconstexpr |
|
finalvirtualinherited |
Definition at line 109 of file DataStructure.cxx.
|
inlineexplicitinherited |
|
delete |
|
inherited |
Access to simple attribute.
key | The path to the attribute name, relative to the current one in form "path.to.child" |
Definition at line 121 of file DataStructure.cxx.
|
inlineinherited |
Definition at line 242 of file DataStructure.h.
|
virtualinherited |
Reimplemented in TrigConf::L1TopoAlgorithm, and TrigConf::L1Threshold_EM.
Definition at line 272 of file DataStructure.cxx.
|
staticinherited |
Static function to print a ptree
object.
key | The key of this data as found in the parent structure |
data | The ptree to print |
level | The substruture level used to indent the output |
os | The output stream |
Definition at line 279 of file DataStructure.cxx.
|
inherited |
Definition at line 265 of file DataStructure.cxx.
void TrigConf::L1BunchGroupSet::printSummary | ( | bool | detailed = false | ) | const |
print a more or less detailed summary
Definition at line 150 of file L1BunchGroupSet.cxx.
|
inline |
Definition at line 96 of file L1BunchGroupSet.h.
|
inherited |
Definition at line 50 of file DataStructure.cxx.
|
inherited |
Setting the configuration element name.
Definition at line 59 of file DataStructure.cxx.
std::size_t TrigConf::L1BunchGroupSet::size | ( | ) | const |
Accessor to the number of defined bunchgroups.
Definition at line 128 of file L1BunchGroupSet.cxx.
std::size_t TrigConf::L1BunchGroupSet::sizeNonEmpty | ( | ) | const |
Accessor to the number of non-empty bunchgroups.
Definition at line 133 of file L1BunchGroupSet.cxx.
|
inlineoverrideprivatevirtual |
Update the internal members.
Reimplemented from TrigConf::DataStructure.
Definition at line 127 of file L1BunchGroupSet.h.
|
private |
the bunch group key
Definition at line 134 of file L1BunchGroupSet.h.
|
private |
vector of size 16 (L1BunchGroup::s_maxBunchGroups
Definition at line 140 of file L1BunchGroupSet.h.
|
private |
maps bgrp name (BGRP0, BGRP1,...) to bunchgroup
Definition at line 137 of file L1BunchGroupSet.h.
Definition at line 257 of file DataStructure.h.
|
protectedinherited |
Definition at line 256 of file DataStructure.h.
|
protectedinherited |
if initialized, the underlying ptree is has been assigned to (can be empty)
Definition at line 254 of file DataStructure.h.
|
protectedinherited |
Definition at line 259 of file DataStructure.h.
|
staticprivate |
Hardware limit for number of bunch group.
Definition at line 131 of file L1BunchGroupSet.h.