ATLAS Offline Software
LArFlatConditionSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //Dear emacs, this is -*-c++-*-
6 
7 #ifndef LARRECUTILS_LARFLATCONDITIONSVC_H
8 #define LARRECUTILS_LARFLATCONDITIONSVC_H
9 
10 #include "GaudiKernel/ServiceHandle.h"
13 #include "GaudiKernel/IIncidentListener.h"
14 #include <string>
15 
16 class IIOVSvc;
17 class StoreGateSvc;
18 class IClassIDSvc;
20 
21 
22 template <class TYPE> class SvcFactory;
23 
24 class LArFlatConditionSvc : public virtual IAddressProvider,
25  public virtual IIncidentListener,
26  public AthService {
27 
28  friend class SvcFactory<LArFlatConditionSvc>;
29 
30  public:
31  LArFlatConditionSvc( const std::string& name, ISvcLocator* svc );
32  virtual ~LArFlatConditionSvc();
33 
35  virtual StatusCode initialize();
36 
38  virtual StatusCode finalize();
39 
41  //virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface );
42  //static const InterfaceID& interfaceID();
43 
46 
47  /* IAddress provider interface */
48 
51 
53  virtual StatusCode preLoadAddresses(StoreID::type /* storeID */,
54  tadList& /* list */);
55 
57  virtual StatusCode loadAddresses(StoreID::type /* storeID */,
58  tadList& /* list */)
59  { return StatusCode::SUCCESS;}
60 
64  const EventContext& ctx);
65 
67  virtual void handle( const Incident& incident );
68 
69 
70  private:
74 
75 
76  struct objInfo_t {
77  public:
78  std::string m_classname;
79  std::string m_ifacename;
80  std::string m_inputKey;
81  std::string m_outputKey;
84  };
85 
86  std::vector<objInfo_t> m_objInfo;
89 
93 
94  template<class T>
96 
97 
98  void printCheckSums(const objInfo_t& objInfo, const CondAttrListCollection* attr);
99 };
100 
101 
102 #endif
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
LArFlatConditionSvc::tadListIterator
tadList::iterator tadListIterator
Definition: LArFlatConditionSvc.h:50
LArFlatConditionSvc::objInfo_t::m_outputKey
std::string m_outputKey
Definition: LArFlatConditionSvc.h:81
LArFlatConditionSvc::handle
virtual void handle(const Incident &incident)
Incident handle.
Definition: LArFlatConditionSvc.cxx:421
LArFlatConditionSvc::tadlist
IAddressProvider::tadList tadlist
Query the interfaces.
Definition: LArFlatConditionSvc.h:49
LArFlatConditionSvc::m_printChecksum
bool m_printChecksum
Definition: LArFlatConditionSvc.h:92
LArFlatConditionSvc::objInfo_t::m_sclid
CLID m_sclid
Definition: LArFlatConditionSvc.h:83
SvcFactory
Definition: AthCnvSvc.h:28
LArFlatConditionSvc::printCheckSums
void printCheckSums(const objInfo_t &objInfo, const CondAttrListCollection *attr)
Definition: LArFlatConditionSvc.cxx:450
LArFlatConditionSvc::objInfo_t::m_inputKey
std::string m_inputKey
Definition: LArFlatConditionSvc.h:80
SG::TransientAddress
Definition: TransientAddress.h:32
LArFlatConditionSvc::~LArFlatConditionSvc
virtual ~LArFlatConditionSvc()
Definition: LArFlatConditionSvc.cxx:141
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number....
Definition: CondAttrListCollection.h:52
LArFlatConditionSvc::objInfo_t::m_classname
std::string m_classname
Definition: LArFlatConditionSvc.h:78
LArFlatConditionSvc::objInfo_t::m_ifacename
std::string m_ifacename
Definition: LArFlatConditionSvc.h:79
LArFlatConditionSvc::m_IOVSvc
ServiceHandle< IIOVSvc > m_IOVSvc
Definition: LArFlatConditionSvc.h:71
LArFlatConditionSvc::finalize
virtual StatusCode finalize()
Service finalize.
Definition: LArFlatConditionSvc.cxx:416
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
LArFlatConditionSvc::m_doRegularCells
bool m_doRegularCells
Definition: LArFlatConditionSvc.h:90
LArFlatConditionSvc::loadAddresses
virtual StatusCode loadAddresses(StoreID::type, tadList &)
get all new addresses from Provider for this Event.
Definition: LArFlatConditionSvc.h:57
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArFlatConditionSvc::m_objInfo
std::vector< objInfo_t > m_objInfo
Definition: LArFlatConditionSvc.h:86
AthService
Definition: AthService.h:32
IAddressProvider
interface for IOA providers
Definition: IAddressProvider.h:28
LArFlatConditionSvc::m_initializing
bool m_initializing
Definition: LArFlatConditionSvc.h:88
IIOVSvc
Abstract interface for IOVSvc. This is used (usually via StoreGateSvc regFcn and regHandle methods) t...
Definition: IIOVSvc.h:41
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
LArFlatConditionSvc::initialize
virtual StatusCode initialize()
Serice init.
Definition: LArFlatConditionSvc.cxx:145
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArFlatConditionSvc::objInfo_t
Definition: LArFlatConditionSvc.h:76
StoreID::type
type
Definition: StoreID.h:24
LArFlatConditionSvc::preLoadAddresses
virtual StatusCode preLoadAddresses(StoreID::type, tadList &)
get all addresses from Provider : Called before Begin Event
Definition: LArFlatConditionSvc.cxx:187
LArFlatConditionSvc::LArFlatConditionSvc
LArFlatConditionSvc(const std::string &name, ISvcLocator *svc)
Definition: LArFlatConditionSvc.cxx:39
IAddressProvider::tadList
std::list< SG::TransientAddress * > tadList
Definition: IAddressProvider.h:32
AthService.h
LArFlatConditionSvc::m_attrListClid
CLID m_attrListClid
Definition: LArFlatConditionSvc.h:87
LArFlatConditionSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition: LArFlatConditionSvc.h:72
LArFlatConditionSvc::m_doSuperCells
bool m_doSuperCells
Definition: LArFlatConditionSvc.h:91
IAddressProvider.h
LArFlatConditionSvc::createFlatObj
T * createFlatObj(const CondAttrListCollection *attr, SG::TransientAddress *tad)
Definition: LArFlatConditionSvc.cxx:430
LArFlatConditionSvc
Definition: LArFlatConditionSvc.h:26
LArFlatConditionSvc::updateAddress
virtual StatusCode updateAddress(StoreID::type, SG::TransientAddress *tad, const EventContext &ctx)
update a transient Address
Definition: LArFlatConditionSvc.cxx:219
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
LArFlatConditionSvc::objInfo_t::m_clid
CLID m_clid
Definition: LArFlatConditionSvc.h:82
ServiceHandle< IIOVSvc >
LArFlatConditionSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: LArFlatConditionSvc.h:73