ATLAS Offline Software
|
'Nested' template container for storing TRT conditions data. More...
#include <vector>
#include <map>
#include <functional>
#include <algorithm>
#include "TRT_ConditionsData/ExpandedIdentifier.h"
#include "AthenaKernel/getMessageSvc.h"
#include "GaudiKernel/MsgStream.h"
Go to the source code of this file.
Classes | |
struct | TRTCond::NestedContainerDaughterAccessor< Daughter, T, Trait > |
struct | TRTCond::NestedContainerDaughterAccessor< T, T, Trait > |
NestedContainerDaugtherAccessor specialization if the daughter is not a container, but an atomic object ('STRAW' level) More... | |
class | TRTCond::NestedContainerBase< NestingLevel, Daughter, T, Trait > |
class | TRTCond::NestedContainer< NestingLevel, T, Trait > |
class | TRTCond::NestedContainer< ExpandedIdentifier::STRAWLAYER, T, Trait > |
Template specialization for the lowest level ('STRAWLAYER') to truncate the nesting loop. More... | |
class | TRTCond::NestedContainerPointerTrait< T > |
Namespaces | |
TRTCond | |
'Nested' template container for storing TRT conditions data.
Entries are accessed via an identifier (TRTCond::ExpandedIdentifier), which specifies barrel, layer, sector, strawlayer and straw. At each level it stores a 'default' value which is returned in case the specified entry does not exist or is 'invalid' (not-calibrated). The identifier can also specify a 'level' which allows to access the constants at a particular granularity. For example, to access the t0 of a straw 'bec=1, layer=2, sector=3, strawlayer=4, straw=5', one uses
StrawT0Container * strawt0container = ... ; ExpandedIdentifier id(3,2,3,4,5,ExpandedIdentifier::STRAW) ; const StrawT0& strawt0 = strawt0container->get( id ) ;
To retrieve the corresponding entry an module level, one would use
ExpandedIdentifier id(3,2,3,4,5,ExpandedIdentifier::MODULE) ;
The NestedContainer is implement via two classes
Definition in file NestedContainer.h.