ATLAS Offline Software
Classes | Namespaces
NestedContainer.h File Reference

'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"
Include dependency graph for NestedContainer.h:
This graph shows which files directly or indirectly include this file:

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
 

Detailed Description

'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

Author
Wouter Hulsbergen woute.nosp@m.r.hu.nosp@m.lsber.nosp@m.gen@.nosp@m.cern..nosp@m.ch

Definition in file NestedContainer.h.