ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
CondContMixed< T > Class Template Reference

Conditions container for which keys are ranges in both Run+LBN and timestamp. More...

#include <CondCont.h>

Collaboration diagram for CondContMixed< T >:

Public Types

typedef CondContMixedBaseInfo< T >::Base Base
 Base class. More...
 
typedef Base::CondContSet CondContSet
 
typedef T Payload
 Payload type held by this class. More...
 
typedef CondContBase::key_type key_type
 

Public Member Functions

virtual ~CondContMixed ()
 Destructor. More...
 
 CondContMixed (const CondContMixed &)=delete
 No copying. More...
 
CondContMixedoperator= (const CondContMixed &)=delete
 
StatusCode insert (const EventIDRange &r, std::unique_ptr< T > obj, const EventContext &ctx=Gaudi::Hive::currentContext())
 Insert a new conditions object. More...
 
bool find (const EventIDBase &t, T const *&obj, EventIDRange const **r=nullptr) const
 Look up a conditions object for a given time. More...
 
const T * find (const EventIDBase &t) const
 Look up a conditions object for a given time. More...
 

Static Public Member Functions

static void registerBaseInit ()
 Helper to ensure that the inheritance information for this class gets initialized. More...
 

Protected Member Functions

 CondContMixed (Athena::IRCUSvc &rcusvc, CLID clid, const DataObjID &id, SG::DataProxy *proxy, std::shared_ptr< typename CondContSet::IPayloadDeleter > payloadDeleter, size_t capacity)
 Internal Constructor. More...
 
 CondContMixed (Athena::IRCUSvc &rcusvc, CLID clid, const DataObjID &id, SG::DataProxy *proxy, size_t capacity)
 Internal Constructor. More...
 
const void * cast (CLID clid, const void *ptr) const
 Do pointer conversion for the payload type. More...
 
virtual const void * doCast (CLID clid, const void *ptr) const override
 Do pointer conversion for the payload type. More...
 

Detailed Description

template<typename T>
class CondContMixed< T >

Conditions container for which keys are ranges in both Run+LBN and timestamp.

Don't use this directly; instead declare your container with CONDCONT_MIXED_DEF and then use CondCont<T>.

Definition at line 1198 of file CondCont.h.

Member Typedef Documentation

◆ Base

template<typename T >
typedef CondContMixedBaseInfo<T>::Base CondContMixed< T >::Base

Base class.

Definition at line 1258 of file CondCont.h.

◆ CondContSet

template<typename T >
typedef Base::CondContSet CondContMixed< T >::CondContSet

Definition at line 1260 of file CondCont.h.

◆ key_type

template<typename T >
typedef CondContBase::key_type CondContMixed< T >::key_type

Definition at line 1265 of file CondCont.h.

◆ Payload

template<typename T >
typedef T CondContMixed< T >::Payload

Payload type held by this class.

Definition at line 1263 of file CondCont.h.

Constructor & Destructor Documentation

◆ ~CondContMixed()

template<typename T >
virtual CondContMixed< T >::~CondContMixed ( )
virtual

Destructor.

◆ CondContMixed() [1/3]

template<typename T >
CondContMixed< T >::CondContMixed ( const CondContMixed< T > &  )
delete

No copying.

◆ CondContMixed() [2/3]

template<typename T >
CondContMixed< T >::CondContMixed ( Athena::IRCUSvc rcusvc,
CLID  clid,
const DataObjID &  id,
SG::DataProxy proxy,
std::shared_ptr< typename CondContSet::IPayloadDeleter >  payloadDeleter,
size_t  capacity 
)
protected

Internal Constructor.

Parameters
rcusvcRCU service instance.
CLIDof the most-derived CondCont.
idCLID+key for this object.
proxyDataProxy for this object.
payloadDeleterObject for deleting actual payload objects.
capacityInitial capacity of the container.

◆ CondContMixed() [3/3]

template<typename T >
CondContMixed< T >::CondContMixed ( Athena::IRCUSvc rcusvc,
CLID  clid,
const DataObjID &  id,
SG::DataProxy proxy,
size_t  capacity 
)
protected

Internal Constructor.

Parameters
rcusvcRCU service instance.
CLIDof the most-derived CondCont.
idCLID+key for this object.
proxyDataProxy for this object.
capacityInitial capacity of the container.

Member Function Documentation

◆ cast()

template<typename T >
const void* CondContMixed< T >::cast ( CLID  clid,
const void *  ptr 
) const
protected

Do pointer conversion for the payload type.

Parameters
clidCLID for the desired pointer type.
ptrPointer of type T*.

Converts ptr from T* to a pointer to the type given by clid. Returns nullptr if the conversion is not possible.

◆ doCast()

template<typename T >
virtual const void* CondContMixed< T >::doCast ( CLID  clid,
const void *  ptr 
) const
overrideprotectedvirtual

Do pointer conversion for the payload type.

Parameters
clidCLID for the desired pointer type.
ptrPointer of type T*.

Converts ptr from T* to a pointer to the type given by clid. Returns nullptr if the conversion is not possible.

This is a virtual function that calls cast from the most-derived class of the hierarchy.

◆ find() [1/2]

template<typename T >
const T* CondContMixed< T >::find ( const EventIDBase &  t) const

Look up a conditions object for a given time.

Parameters
tIOV time to find.

Returns the found object, or nullptr.

This variant may be more convenient to call from python.

◆ find() [2/2]

template<typename T >
bool CondContMixed< T >::find ( const EventIDBase &  t,
T const *&  obj,
EventIDRange const **  r = nullptr 
) const

Look up a conditions object for a given time.

Parameters
tIOV time to find.
obj[out]Object found.
rIf non-null, copy validity range of the object here.

Returns true if the object was found; false otherwide.

◆ insert()

template<typename T >
StatusCode CondContMixed< T >::insert ( const EventIDRange &  r,
std::unique_ptr< T >  obj,
const EventContext &  ctx = Gaudi::Hive::currentContext() 
)

Insert a new conditions object.

Parameters
rRange of validity of this object.
objPointer to the object being inserted.
ctxEvent context for the current thread.

obj must point to an object of type T. This will give an error if this is not called on the most-derived CondCont.

Returns SUCCESS if the object was successfully inserted; OVERLAP if the object was inserted but the range partially overlaps with an existing one; DUPLICATE if the object wasn't inserted because the range duplicates an existing one, and FAILURE otherwise (ownership of the object will be taken in any case).

◆ operator=()

template<typename T >
CondContMixed& CondContMixed< T >::operator= ( const CondContMixed< T > &  )
delete

◆ registerBaseInit()

template<typename T >
static void CondContMixed< T >::registerBaseInit ( )
static

Helper to ensure that the inheritance information for this class gets initialized.


The documentation for this class was generated from the following file: