Skip to content
Snippets Groups Projects
Commit 47929fb8 authored by Jochen Meyer's avatar Jochen Meyer Committed by Graeme Stewart
Browse files

fix of compiler warning (RPC_CondCabling-00-02-03)

parent 49e95471
No related branches found
No related tags found
No related merge requests found
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MUONCONDTOOL_RPCCABLINGDBTOOL_H
#define MUONCONDTOOL_RPCCABLINGDBTOOL_H
#include "GaudiKernel/AlgTool.h"
#include "MuonCondInterface/IRPCCablingDbTool.h"
#include "GaudiKernel/IChronoStatSvc.h"
class Identifier;
class StoreGateSvc;
class RpcIdHelper;
class IIOVSvc;
class StatusCode;
class RPCCablingDbTool: public AlgTool, public IRPCCablingDbTool
{
public:
RPCCablingDbTool(const std::string& type,
const std::string& name,
const IInterface* parent);
/** required by the IAddressProvider interface */
// virtual StatusCode updateAddress(SG::TransientAddress* tad);
virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress* tad);
virtual StatusCode initialize();
virtual std::string mapConfFolderName() const {return m_mapFolder;}
virtual std::string mapCorrFolderName() const {return m_corrFolder;}
virtual const std::string* GetStringRPCConfMap() const {return &m_map;}
virtual const std::string* GetStringRPCCorrMap() const {return &m_corr;}
virtual StatusCode loadParameters(IOVSVC_CALLBACK_ARGS);
virtual StatusCode loadRPCMap(IOVSVC_CALLBACK_ARGS);
virtual StatusCode loadRPCCorr(IOVSVC_CALLBACK_ARGS);
private:
StoreGateSvc* m_detStore;
IIOVSvc* m_IOVSvc;
const RpcIdHelper* m_rpcIdHelper;
std::string m_DataLocation;
std::string m_mapFolder;
std::string m_corrFolder;
std::string m_map;
std::string m_corr;
IChronoStatSvc* m_chronoSvc;
std::string m_chrono1;
std::string m_chrono2;
std::string m_chrono3;
std::string m_chrono4;
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MUONCONDTOOL_RPCTRIGGERDBTOOL_H
#define MUONCONDTOOL_RPCTRIGGERDBTOOL_H
#include "GaudiKernel/AlgTool.h"
#include "MuonCondInterface/IRPCTriggerDbTool.h"
#include "GaudiKernel/IChronoStatSvc.h"
#include "GaudiKernel/MsgStream.h"
class Identifier;
class StoreGateSvc;
class RpcIdHelper;
class IIOVSvc;
class StatusCode;
class RPCTriggerDbTool: public AlgTool, public IRPCTriggerDbTool
{
public:
RPCTriggerDbTool(const std::string& type,
const std::string& name,
const IInterface* parent);
/** required by the IAddressProvider interface */
// virtual StatusCode updateAddress(SG::TransientAddress* tad);
virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress* tad);
virtual StatusCode initialize();
//getter methods
virtual std::string EtaTableFolderName() const {return m_etaTableFolder;}
virtual std::string PhiTableFolderName() const {return m_phiTableFolder;}
virtual const std::vector<std::string> GetStringRPCEtaCM_File() const {return m_vecetaCM_File;}
virtual const std::vector<std::string> GetStringRPCEtaTh0() const {return m_vecetaTh0;}
// virtual const std::vector<std::string> GetStringRPCEtaTh1() const {return m_vecetaTh1;}
// virtual const std::vector<std::string> GetStringRPCEtaTh2() const {return m_vecetaTh2;}
virtual const std::vector<std::string> GetStringRPCEtaSequence_Th() const {return m_vecetaSequence_Th;}
virtual const std::vector<std::string> GetStringRPCEtaInfo() const {return m_vecetaInfo;}
virtual const std::vector<std::string> GetStringRPCPhiCM_File() const {return m_vecphiCM_File;}
virtual const std::vector<std::string> GetStringRPCPhiTh0() const {return m_vecphiTh0;}
virtual const std::vector<std::string> GetStringRPCPhiInfo() const {return m_vecphiInfo;}
virtual const std::map<std::string, std::string>* GetRoads() const {return &m_trigroads;}
//load methods
virtual StatusCode loadParameters(IOVSVC_CALLBACK_ARGS);
virtual StatusCode loadRPCEtaTable(IOVSVC_CALLBACK_ARGS);
virtual StatusCode loadRPCPhiTable(IOVSVC_CALLBACK_ARGS);
private:
StoreGateSvc* m_detStore;
IIOVSvc* m_IOVSvc;
const RpcIdHelper* m_rpcIdHelper;
std::string m_DataLocation;
std::string m_etaTableFolder;
std::string m_phiTableFolder;
std::string m_etaCM_File;
std::vector<std::string> m_vecetaCM_File;
std::string m_etaTh0;
std::vector<std::string> m_vecetaTh0;
//std::string m_etaTh1;
//std::string m_etaTh2;
std::string m_etaSequence_Th;
std::vector<std::string> m_vecetaSequence_Th;
std::string m_etaInfo;
std::vector<std::string> m_vecetaInfo;
std::string m_phiCM_File;
std::vector<std::string> m_vecphiCM_File;
std::string m_phiTh0;
std::vector<std::string> m_vecphiTh0;
std::string m_phiInfo;
std::vector<std::string> m_vecphiInfo;
std::map<std::string, std::string> m_trigroads;
IChronoStatSvc* m_chronoSvc;
std::string m_chrono1;
std::string m_chrono2;
std::string m_chrono3;
std::string m_chrono4;
MsgStream m_log;
bool m_debug;
bool m_verbose;
};
#endif
package RPC_CondCabling
########
########
private
use AthenaPoolUtilities AthenaPoolUtilities-* Database/AthenaPOOL
use AtlasCORAL AtlasCORAL-* External
use PathResolver PathResolver-* Tools
use SGTools SGTools-* Control
use StoreGate StoreGate-* Control
use Identifier Identifier-* DetectorDescription
use MuonIdHelpers MuonIdHelpers-* MuonSpectrometer
public
use AtlasPolicy AtlasPolicy-*
use GaudiInterface GaudiInterface-* External
use MuonCondInterface MuonCondInterface-* MuonSpectrometer/MuonConditions/MuonCondGeneral
library RPC_CondCabling *.cxx components/*.cxx
apply_pattern component_library
#apply_pattern declare_joboptions files="*.py"
#apply_pattern declare_python_modules files="*.py"
# to build in dbg mode this package while using an opt build
#private
#macro cppdebugflags '$(cppdebugflags_s)'
#macro_remove componentshr_linkopts "-Wl,-s"
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#include "GaudiKernel/MsgStream.h"
#include "StoreGate/StoreGateSvc.h"
#include "SGTools/TransientAddress.h"
#include "CoralBase/Attribute.h"
#include "CoralBase/AttributeListSpecification.h"
#include "AthenaPoolUtilities/AthenaAttributeList.h"
#include "AthenaPoolUtilities/CondAttrListCollection.h"
#include "Identifier/IdentifierHash.h"
#include "MuonIdHelpers/RpcIdHelper.h"
#include "PathResolver/PathResolver.h"
#include <fstream>
#include <string>
#include <stdlib.h>
#include "RPC_CondCabling/RPCCablingDbTool.h"
#include "MuonCondInterface/IRPCCablingDbTool.h"
#include <map>
#include "Identifier/Identifier.h"
//**********************************************************
//* Author Monica Verducci monica.verducci@cern.ch
//*
//* Tool to retrieve the RPC Cabling Map from COOL DB
//* one callback aganist the class
//* retrieving of tables from DB
//*********************************************************
RPCCablingDbTool::RPCCablingDbTool (const std::string& type,
const std::string& name,
const IInterface* parent)
: AlgTool(type, name, parent)
{
declareInterface<IRPCCablingDbTool>(this);
m_DataLocation="keyRPC";
declareProperty("MapConfigurationFolder", m_mapFolder="/RPC/CABLING/MAP_SCHEMA_NEW");
declareProperty("MapCorrectionFolder", m_corrFolder="/RPC/CABLING/MAP_SCHEMA_CORR_2");
m_map ="";
m_corr="";
}
//StatusCode RPCCablingDbTool::updateAddress(SG::TransientAddress* /*tad*/)
StatusCode RPCCablingDbTool::updateAddress(StoreID::type /*storeID*/, SG::TransientAddress* /*tad*/)
{
MsgStream log(msgSvc(), name());
//CLID clid = tad->clID();
//std::string key = tad->name();
// if ( == clid && m_DataLocation == key)
//{
// log << MSG::DEBUG << "OK " << endreq;
// return StatusCode::SUCCESS;
//}
return StatusCode::FAILURE;
}
StatusCode RPCCablingDbTool::initialize()
{
MsgStream log(msgSvc(), name());
log << MSG::INFO << "Initializing - folders names are: conf "<<m_mapFolder <<" / corr "<<m_corrFolder<< endreq;
StatusCode sc = serviceLocator()->service("DetectorStore", m_detStore);
if ( sc.isSuccess() ) {
log << MSG::DEBUG << "Retrieved DetectorStore" << endreq;
}else{
log << MSG::ERROR << "Failed to retrieve DetectorStore" << endreq;
return sc;
}
// retrieve the rpc id helper
sc = m_detStore->retrieve(m_rpcIdHelper, "RPCIDHELPER" );
if (!sc.isSuccess()) {
log << MSG::ERROR << "Can't retrieve RpcIdHelper" << endreq;
return sc;
}
// Get interface to IOVSvc
m_IOVSvc = 0;
bool CREATEIF(true);
sc = service( "IOVSvc", m_IOVSvc, CREATEIF );
if ( sc.isFailure() )
{
log << MSG::ERROR << "Unable to get the IOVSvc" << endreq;
return StatusCode::FAILURE;
}
if(sc.isFailure()) return StatusCode::FAILURE;
// initialize the chrono service
sc = service("ChronoStatSvc",m_chronoSvc);
if (sc != StatusCode::SUCCESS) {
log << MSG::ERROR << "Could not find the ChronoSvc" << endreq;
return sc;
}
// const DataHandle<CondAttrListCollection> MapData;
// sc=m_detStore->regFcn(&IRPCCablingDbTool::loadRPCMap,
// dynamic_cast<IRPCCablingDbTool*>(this),
// MapData, m_mapFolder);
if(sc.isFailure()) return StatusCode::FAILURE;
return StatusCode::SUCCESS;
}
StatusCode RPCCablingDbTool::loadParameters(IOVSVC_CALLBACK_ARGS_P(I,keys))
{
MsgStream log(msgSvc(), name());
std::list<std::string>::const_iterator itr;
for (itr=keys.begin(); itr!=keys.end(); ++itr) {
log << MSG::INFO <<"LoadParameters "<< *itr << " I="<<I<<" "<<endreq;
if(*itr==m_mapFolder) {
StatusCode sc = loadRPCMap(I,keys);
if (sc.isFailure())
{
return sc;
}
}
else if (*itr==m_corrFolder) {
StatusCode sc = loadRPCCorr(I,keys);
if (sc.isFailure())
{
return sc;
}
}
}
return StatusCode::SUCCESS;
}
StatusCode RPCCablingDbTool::loadRPCMap(IOVSVC_CALLBACK_ARGS_P(/*I*/,/*keys*/))
{
MsgStream log(msgSvc(), name());
StatusCode sc=StatusCode::SUCCESS;
log << MSG::INFO << "loadRPCMap --- Load Map from DB" << endreq;
const CondAttrListCollection * atrc;
log << MSG::INFO << "Try to read from folder <"<<m_mapFolder<<">"<<endreq;
sc=m_detStore->retrieve(atrc,m_mapFolder);
if(sc.isFailure()) {
log << MSG::ERROR
<< "could not retreive the CondAttrListCollection from DB folder "
<< m_mapFolder << endreq;
return sc;
}
else
log<<MSG::INFO<<" CondAttrListCollection from DB folder have been obtained with size "<< atrc->size() <<endreq;
CondAttrListCollection::const_iterator itr;
int ic=0;
for (itr = atrc->begin(); itr != atrc->end(); ++itr) {
ic++;
log << MSG::INFO << "Loop over CondAttrListCollection ic = "<<ic<<endreq;
const coral::AttributeList& atr=itr->second;
// store configuration map in private member RPCConfMap
m_map = *(static_cast<const std::string*>((atr["Map"]).addressOfData()));
log << MSG::VERBOSE << "Sequence load is \n" << m_map <<endreq;
log <<"End of Sequence load"<<endreq;
}
log<< MSG::INFO<<"After Reading folder, Configuration string size is "<<m_map.size()<<endreq;
return StatusCode::SUCCESS;
}
StatusCode RPCCablingDbTool::loadRPCCorr(IOVSVC_CALLBACK_ARGS_P(/*I*/,/*keys*/))
{
MsgStream log(msgSvc(), name());
StatusCode sc=StatusCode::SUCCESS;
log << MSG::INFO << "loadRPCCorr --- Load Corrections from DB" << endreq;
const CondAttrListCollection * atrc;
log << MSG::INFO << "Try to read from folder <"<<m_corrFolder<<">"<<endreq;
sc=m_detStore->retrieve(atrc,m_corrFolder);
if(sc.isFailure()) {
log << MSG::ERROR
<< "could not retreive the CondAttrListCollection from DB folder "
<< m_corrFolder << endreq;
return sc;
}
else
log<<MSG::INFO<<" CondAttrListCollection from DB folder have been obtained with size "<< atrc->size() <<endreq;
CondAttrListCollection::const_iterator itr;
for (itr = atrc->begin(); itr != atrc->end(); ++itr) {
const coral::AttributeList& atr=itr->second;
// store correction map in private member RPCCorrMap
m_corr = *(static_cast<const std::string*>((atr["Map"]).addressOfData()));
log << MSG::VERBOSE << "Sequence load is \n" << m_corr <<endreq;
log <<"End of Sequence load"<<endreq;
}
log<< MSG::INFO<<"After Reading folder, Correction string size is "<<m_corr.size()<<endreq;
return StatusCode::SUCCESS;
}
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#include "GaudiKernel/MsgStream.h"
#include "StoreGate/StoreGateSvc.h"
#include "SGTools/TransientAddress.h"
#include "CoralBase/Attribute.h"
#include "CoralBase/AttributeListSpecification.h"
#include "AthenaPoolUtilities/AthenaAttributeList.h"
#include "AthenaPoolUtilities/CondAttrListCollection.h"
#include "Identifier/IdentifierHash.h"
#include "MuonIdHelpers/RpcIdHelper.h"
#include "PathResolver/PathResolver.h"
#include <fstream>
#include <string>
#include <stdlib.h>
#include "RPC_CondCabling/RPCTriggerDbTool.h"
///#include "MuonCondInterface/IRPCTriggerDbTool.h"
///#include "MuonCondSvc/MdtStringUtils.h"
#include <map>
#include "Identifier/Identifier.h"
//**********************************************************
//* Author Monica Verducci monica.verducci@cern.ch
//*
//* Tool to retrieve the RPC trigger roads from COOL DB
//* one callback aganist the class
//* retrieving of tables from DB
//*********************************************************
RPCTriggerDbTool::RPCTriggerDbTool (const std::string& type,
const std::string& name,
const IInterface* parent)
: AlgTool(type, name, parent),
m_log( msgSvc(), name ),
m_debug(false),
m_verbose(false)
{
declareInterface<IRPCTriggerDbTool>(this);
m_DataLocation="keyRPC";
declareProperty("EtaTableFolder", m_etaTableFolder="/RPC/TRIGGER/CM_THR_ETA");
declareProperty("PhiTableFolder", m_phiTableFolder="/RPC/TRIGGER/CM_THR_PHI");
m_etaCM_File= "";
m_etaTh0= "";
// m_etaTh1= "";
// m_etaTh2= "";
m_etaSequence_Th= "";
m_etaInfo= "";
m_phiCM_File= "";
m_phiTh0= "";
m_etaInfo= "";
m_trigroads.clear();
}
//StatusCode RPCTriggerDbTool::updateAddress(SG::TransientAddress* /*tad*/)
StatusCode RPCTriggerDbTool::updateAddress(StoreID::type /*storeID*/, SG::TransientAddress* /*tad*/)
{
MsgStream log(msgSvc(), name());
return StatusCode::FAILURE;
}
StatusCode RPCTriggerDbTool::initialize()
{
m_log.setLevel(outputLevel());
m_debug = m_log.level() <= MSG::DEBUG;
m_verbose = m_log.level() <= MSG::VERBOSE;
if( m_debug ) m_log << MSG::INFO << "Initializing - folders names are: eta " << m_etaTableFolder
<< " / phi "<< m_phiTableFolder << endreq;
StatusCode sc = serviceLocator()->service("DetectorStore", m_detStore);
if ( sc.isSuccess() ) {
if( m_debug ) m_log << MSG::DEBUG << "Retrieved DetectorStore" << endreq;
}else{
m_log << MSG::ERROR << "Failed to retrieve DetectorStore" << endreq;
return sc;
}
// Get interface to IOVSvc
m_IOVSvc = 0;
bool CREATEIF(true);
sc = service( "IOVSvc", m_IOVSvc, CREATEIF );
if ( sc.isFailure() )
{
m_log << MSG::ERROR << "Unable to get the IOVSvc" << endreq;
return StatusCode::FAILURE;
}
if(sc.isFailure()) return StatusCode::FAILURE;
// initialize the chrono service
sc = service("ChronoStatSvc",m_chronoSvc);
if (sc != StatusCode::SUCCESS) {
m_log << MSG::ERROR << "Could not find the ChronoSvc" << endreq;
return sc;
}
if(sc.isFailure()) return StatusCode::FAILURE;
return StatusCode::SUCCESS;
}
StatusCode RPCTriggerDbTool::loadParameters(IOVSVC_CALLBACK_ARGS_P(I,keys))
{
m_log.setLevel(outputLevel());
m_debug = m_log.level() <= MSG::DEBUG;
m_verbose = m_log.level() <= MSG::VERBOSE;
if( m_verbose ) m_log << MSG::VERBOSE <<"LoadParameters "<<endreq;
std::list<std::string>::const_iterator itr;
for (itr=keys.begin(); itr!=keys.end(); ++itr) {
m_log << MSG::INFO <<"LoadParameters "<< *itr << " I="<<I<<" "<<endreq;
if(*itr== m_etaTableFolder) {
StatusCode sc = loadRPCEtaTable(I,keys);
if (sc.isFailure())
{
return sc;
}
}
else if (*itr==m_phiTableFolder) {
StatusCode sc = loadRPCPhiTable(I,keys);
if (sc.isFailure())
{
return sc;
}
}
}
return StatusCode::SUCCESS;
}
StatusCode RPCTriggerDbTool::loadRPCEtaTable(IOVSVC_CALLBACK_ARGS_P(/*I*/,/*keys*/))
{
m_log.setLevel(outputLevel());
m_debug = m_log.level() <= MSG::DEBUG;
m_verbose = m_log.level() <= MSG::VERBOSE;
StatusCode sc=StatusCode::SUCCESS;
if( m_debug ) m_log << MSG::INFO << "loadRPCEtaTable --- Load Map from DB" << endreq;
const CondAttrListCollection * atrc;
if( m_debug ) m_log << MSG::INFO << "Try to read from folder <" << m_etaTableFolder << ">" << endreq;
sc=m_detStore->retrieve(atrc,m_etaTableFolder);
if(sc.isFailure()) {
m_log << MSG::ERROR
<< "could not retreive the CondAttrListCollection from DB folder "
<< m_etaTableFolder << endreq;
return sc;
}
else
if( m_debug ) m_log<<MSG::INFO<<" CondAttrListCollection from DB folder have been obtained with size "<< atrc->size() <<endreq;
CondAttrListCollection::const_iterator itr;
int ic=0;
for (itr = atrc->begin(); itr != atrc->end(); ++itr) {
ic++;
if( m_verbose ) m_log << MSG::VERBOSE << "Loop over CondAttrListCollection ic = "<<ic<<endreq;
const coral::AttributeList& atr=itr->second;
// store the table columns in private members
m_etaCM_File = *(static_cast<const std::string*>((atr["CM_File"]).addressOfData()));
m_vecetaCM_File.push_back(m_etaCM_File);
m_etaTh0 = *(static_cast<const std::string*>((atr["Th0"]).addressOfData()));
m_trigroads[m_etaCM_File]=m_etaTh0;
m_vecetaTh0.push_back(m_etaTh0);
//m_etaTh1 = *(static_cast<const std::string*>((atr["Th1"]).addressOfData()));
//m_etaTh2 = *(static_cast<const std::string*>((atr["Th2"]).addressOfData()));
m_etaSequence_Th = *(static_cast<const std::string*>((atr["Sequence_Th"]).addressOfData()));
m_vecetaSequence_Th.push_back(m_etaSequence_Th);
m_etaInfo = *(static_cast<const std::string*>((atr["Additional_Info"]).addressOfData()));
m_vecetaInfo.push_back(m_etaInfo);
}
std::vector<std::string>::const_iterator itrdb;
itrdb=m_vecetaCM_File.begin();
while(itrdb<m_vecetaCM_File.end()){
if( m_verbose ) m_log << MSG::VERBOSE << "column eta CM_File is \n" << (*itrdb) << endreq;
itrdb++;
/*
log << MSG::VERBOSE << "column eta CM_File is \n" << m_etaCM_File << endreq;
log << MSG::VERBOSE << "column eta Th0 is \n" << m_etaTh0 << endreq;
log << MSG::VERBOSE << "column eta Th1 is \n" << m_etaTh1 << endreq;
log << MSG::VERBOSE << "column eta Th2 is \n" << m_etaTh2 << endreq;
log << MSG::VERBOSE << "column eta Sequence_Th is \n" << m_etaSequence_Th << endreq;
log << MSG::VERBOSE << "column eta Additional_Info is \n" << m_etaInfo << endreq;
log <<"End of Sequence load"<<endreq;
*/
}
if( m_debug ) m_log << MSG::INFO<<"After Reading folder, Configuration string size is "
<<m_etaCM_File.size()<<endreq;
return StatusCode::SUCCESS;
}
StatusCode RPCTriggerDbTool::loadRPCPhiTable(IOVSVC_CALLBACK_ARGS_P(/*I*/,/*keys*/))
{
m_log.setLevel(outputLevel());
m_debug = m_log.level() <= MSG::DEBUG;
m_verbose = m_log.level() <= MSG::VERBOSE;
StatusCode sc=StatusCode::SUCCESS;
if( m_debug ) m_log << MSG::INFO << "loadRPCPhiTable --- Load info from DB" << endreq;
const CondAttrListCollection * atrc;
if( m_debug ) m_log << MSG::INFO << "Try to read from folder <"<<m_phiTableFolder<<">"<<endreq;
sc=m_detStore->retrieve(atrc,m_phiTableFolder);
if(sc.isFailure()) {
m_log << MSG::ERROR
<< "could not retreive the CondAttrListCollection from DB folder "
<< m_phiTableFolder << endreq;
return sc;
}
else
if( m_debug ) m_log<<MSG::INFO
<<" CondAttrListCollection from DB folder have been obtained with size "
<< atrc->size() <<endreq;
CondAttrListCollection::const_iterator itr;
for (itr = atrc->begin(); itr != atrc->end(); ++itr) {
const coral::AttributeList& atr=itr->second;
// store table coloumns in private members
m_phiCM_File = *(static_cast<const std::string*>((atr["CM_File"]).addressOfData()));
m_vecphiCM_File.push_back(m_phiCM_File);
m_phiTh0 = *(static_cast<const std::string*>((atr["Th0"]).addressOfData()));
m_vecphiTh0.push_back(m_phiTh0);
m_trigroads[m_phiCM_File]=m_phiTh0;
m_phiInfo = *(static_cast<const std::string*>((atr["Additional_Info"]).addressOfData()));
m_vecphiInfo.push_back(m_phiInfo);
if( m_verbose ) {
m_log << MSG::VERBOSE << "column phi CM_File is \n" << m_phiCM_File << endreq;
m_log << MSG::VERBOSE << "column phi Th0 is \n" << m_phiTh0 << endreq;
m_log << MSG::VERBOSE << "column phi Additional_Info is \n" << m_phiInfo << endreq;
m_log <<MSG::VERBOSE << "End of Sequence load"<<endreq;
}
}
if( m_debug ) m_log<< MSG::INFO<<"After Reading folder, Correction string size is "
<< m_phiCM_File.size()<<endreq;
return StatusCode::SUCCESS;
}
#include "GaudiKernel/DeclareFactoryEntries.h"
#include "RPC_CondCabling/RPCTriggerDbTool.h"
#include "RPC_CondCabling/RPCCablingDbTool.h"
DECLARE_TOOL_FACTORY( RPCCablingDbTool )
DECLARE_TOOL_FACTORY( RPCTriggerDbTool )
DECLARE_FACTORY_ENTRIES( RPC_CondCabling ){
DECLARE_TOOL( RPCCablingDbTool )
DECLARE_TOOL( RPCTriggerDbTool )
}
#include "GaudiKernel/LoadFactoryEntries.h"
LOAD_FACTORY_ENTRIES( RPC_CondCabling )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment