![]() |
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.
1.8.18