ATLAS Offline Software
MuonCalibStreamCnvSvc.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
6 
7 #include "GaudiKernel/GenericAddress.h"
8 #include "GaudiKernel/IClassIDSvc.h"
9 #include "GaudiKernel/IConversionSvc.h"
10 #include "GaudiKernel/IConverter.h"
11 #include "GaudiKernel/IDataSelector.h"
12 #include "GaudiKernel/IOpaqueAddress.h"
13 #include "GaudiKernel/ISvcLocator.h"
14 
15 // External definitions
16 //extern const long MuonCalibStream_StorageType = 0x43;
17 
19 MuonCalibStreamCnvSvc::MuonCalibStreamCnvSvc(const std::string &name, ISvcLocator *svc) :
20  AthCnvSvc(name, svc, MuonCalibStreamAddress::storageType()) //, m_calibEvent(nullptr)
21 {
22  m_initCnvs.push_back("xAOD::EventInfo");
23 
24  declareProperty("InitCnvs", m_initCnvs);
25 }
26 
29 
32  ATH_MSG_INFO("Initializing MuonCalibStreamCnvSvc");
33 
35 
36  IClassIDSvc *clidSvc;
37  ATH_CHECK(service("ClassIDSvc", clidSvc));
38 
39  // Initialize the converters
40  std::vector<std::string>::const_iterator it = m_initCnvs.begin();
41  std::vector<std::string>::const_iterator it_e = m_initCnvs.end();
42  for (; it != it_e; ++it) {
43  CLID id;
44  ATH_MSG_DEBUG(" Try to obtain CLID for " << (*it));
45  ATH_CHECK(clidSvc->getIDOfTypeName(*it, id));
46 
47  ATH_MSG_DEBUG(" " << *it << " has CLID " << id);
48  IConverter *cnv = converter(id);
49  if (!cnv) {
50  ATH_MSG_WARNING(" Cannot get converter for " << (*it));
51  } else {
52  ATH_MSG_DEBUG(" Converter " << cnv->objType() << " for " << (*it));
53  }
54  }
55  return StatusCode::SUCCESS;
56 }
57 
59 StatusCode MuonCalibStreamCnvSvc::queryInterface(const InterfaceID &riid, void **ppvInterface) {
60  // if ( IMuonCalibStreamEventAccess::interfaceID().versionMatch(riid) ) {
61  // *ppvInterface = (IMuonCalibStreamEventAccess*)this;
62  //}
63  // else {
64  return AthCnvSvc::queryInterface(riid, ppvInterface);
65  //}
66 
67  // addRef();
68  // return StatusCode::SUCCESS;
69 }
70 
73  if (pAddress != 0) {
74  GenericAddress *pAddr = dynamic_cast<GenericAddress *>(pAddress);
75  if (pAddr != 0) { return StatusCode::SUCCESS; }
76  }
77  return StatusCode::FAILURE;
78 }
MuonCalibStreamCnvSvc::MuonCalibStreamCnvSvc
MuonCalibStreamCnvSvc(const std::string &name, ISvcLocator *svc)
Standard constructor.
Definition: MuonCalibStreamCnvSvc.cxx:19
MuonCalibStreamAddress.h
MuonCalibStreamCnvSvc.h
AthCnvSvc::queryInterface
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface)
Definition: AthCnvSvc.cxx:149
MuonCalibStreamCnvSvc::queryInterface
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface)
Query interface.
Definition: MuonCalibStreamCnvSvc.cxx:59
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
skel.it
it
Definition: skel.GENtoEVGEN.py:423
MuonCalibStreamCnvSvc::initialize
virtual StatusCode initialize()
Initialize the service.
Definition: MuonCalibStreamCnvSvc.cxx:31
AthCnvSvc::initialize
virtual StatusCode initialize()
Gaudi Service Implementation.
Definition: AthCnvSvc.cxx:111
MuonCalibStreamCnvSvc::updateServiceState
virtual StatusCode updateServiceState(IOpaqueAddress *pAddress)
Update state of the service.
Definition: MuonCalibStreamCnvSvc.cxx:72
MuonCalibStreamCnvSvc::~MuonCalibStreamCnvSvc
virtual ~MuonCalibStreamCnvSvc()
Standard Destructor.
Definition: MuonCalibStreamCnvSvc.cxx:28
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
MuonCalibStreamCnvSvc::m_initCnvs
std::vector< std::string > m_initCnvs
Definition: MuonCalibStreamCnvSvc.h:25
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
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
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AthCnvSvc::converter
virtual IConverter * converter(const CLID &wanted)
Retrieve converter from list.
Definition: AthCnvSvc.cxx:394
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
MuonCalibStreamAddress
Definition: MuonCalibStreamAddress.h:14
AthCnvSvc
Definition: AthCnvSvc.h:67