ATLAS Offline Software
Loading...
Searching...
No Matches
CondContMaker.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
3 */
4
5#ifndef ATHENAKERNEL_CONDCONTMAKER_H
6#define ATHENAKERNEL_CONDCONTMAKER_H 1
7
12#include "GaudiKernel/DataObjID.h"
13
14class CondContBase;
15namespace Athena {
16 class IRCUSvc;
17}
18
19namespace CondContainer {
20 template <typename T>
22 public:
26
27 virtual
29 Create(Athena::IRCUSvc& rcusvc, const CLID& clid, const std::string& key) const override {
30 DataObjID id(clid,key);
31
33 (SG::asStorable (new CondCont<T>(rcusvc, id)));
34 }
35 };
36}
37
38
39#endif
40
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
uint32_t CLID
The Class ID type.
convert to and from a SG storable
Interface for RCU service.
Definition IRCUSvc.h:40
Base class for all conditions containers.
Definition CondCont.h:140
Hold mapping of ranges to condition objects.
Definition CondCont.h:889
void regMaker(const CLID &clid, ICondContMaker *maker)
static CondContFactory & Instance()
virtual SG::DataObjectSharedPtr< DataObject > Create(Athena::IRCUSvc &rcusvc, const CLID &clid, const std::string &key) const override
Some weak symbol referencing magic... These are declared in AthenaKernel/getMessageSvc....
CxxUtils::RefCountedPtr< T > DataObjectSharedPtr
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)