79 for (
typename T::const_iterator
i = p->begin();
i != p->end(); ++
i ) {
80 int idx = p->index(*
i);
81 s << idx <<
":" << (*i)->clID() <<
",";
83 std::string result = s.str();
84 return result.substr(0, result.length()-2);
86 return "Access FAILED.";
94 for (
size_t j = 1; j < flg.size(); j++ ) {
95 if ( !flg[j-1] && flg[j] ) log <<
"| ";
96 else if ( flg[j] ) log <<
" ";
99 log <<
"+--> " << pReg->
name();
101 log <<
" [Address: CLID="
102 << std::showbase << std::hex << pReg->
address()->
clID();
106 log <<
" [No Address]";
115 log <<
" " << typ.substr(0,32);
118 log <<
"Access test FAILED";
122 log <<
" (Unloaded) ";
129 log <<
" [" << numObj <<
"]";
133 case CLID_ObjectList>>16:
136 case CLID_ObjectVector>>16:
139 case (CLID_ObjectVector+0x00030000)>>16:
142 case (CLID_ObjectVector+0x00040000)>>16:
145 case (CLID_ObjectVector+0x00050000)>>16:
152 log <<
"Access test FAILED";
163 typedef std::vector<IRegistry*> Leaves;
166 const std::string* par0 = 0;
171 for ( Leaves::const_iterator
i=leaves.begin();
i != leaves.end();
i++ ) {
172 const std::string&
id = (*i)->identifier();
176 const std::string* par1 = (*i)->address()->par();
178 if ( par0[0] != par1[0] ) {
185 sc =
eventSvc()->retrieveObject(
id, p);
192 flg.push_back(
i+1 == leaves.end());
198 flg.push_back(
i+1 == leaves.end());
219 log <<
MSG::ERROR <<
"Failed to retrieve IDataManagerSvc interface." <<
endmsg;
222 log <<
MSG::ERROR <<
"Failed to access service \""
242 std::string store_name =
"Unknown";
247 store_name = isvc->name();
251 <<
"0x" << std::hex << (
unsigned long) root.
ptr() << std::dec
252 <<
"@" << store_name <<
"]:" <<
endmsg;
253 std::vector<bool> flg;
virtual const std::string * par() const =0
Retrieve String parameters.
Definition of the MsgStream class used to transmit messages.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
long m_printMissing
Flag to indicate if missing entities should be printed.
bool m_accessForeign
Flag to indicate if foreign files should be opened.
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
bool isSuccess() const
Test for a status code of SUCCESS.
virtual size_type numberOfObjects() const =0
Number of objects in the container.
ObjectVector is one of the basic Gaudi container classes capable of being registered in Data Stores...
Property * declareProperty(const std::string &name, T &property, const std::string &doc="none") const
Declare the named property.
template class KeyedContainer, KeyedContainer.h
virtual const name_type & name() const =0
Name of the directory (or key)
bool m_load
Flag to load non existing items.
virtual StatusCode execute()
Execute procedure.
virtual StatusCode initialize()
Initialize.
Data provider interface definition.
virtual long svcType() const =0
Retrieve service type.
long m_total
Internal counter to trigger printouts.
virtual StatusCode finalize()
Finalize.
IRegistry * registry() const
Get pointer to Registry.
double m_frequency
Job option to set the printout frequency.
#define DECLARE_COMPONENT(type)
ObjectList is one of the basic Gaudi container classes capable of being registered in Data Stores...
TYPE * ptr()
Automatic conversion to data type.
long m_print
Job option to limit printout to first nnn events.
virtual const CLID & clID() const
Retrieve reference to class definition structure.
virtual const CLID & clID() const =0
Retrieve class information from link.
This class is used for returning status codes from appropriate routines.
std::string m_rootName
Name of the root leaf (obtained at initialize)
StoreExplorerAlg(const std::string &name, ISvcLocator *pSvcLocator)
Standard algorithm constructor.
virtual const std::string & name() const
The identifying name of the algorithm object.
SmartIF< IMessageSvc > & msgSvc() const
The standard message service.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
unsigned int CLID
Class ID definition.
void printObj(IRegistry *pReg, std::vector< bool > &flg)
Print datastore leaf.
virtual IOpaqueAddress * address() const =0
Retrieve opaque storage address.
virtual DataObject * object() const =0
Retrieve object behind the link.
std::string m_dataSvcName
Name of the data provider service.
void explore(IRegistry *pObj, std::vector< bool > &flg)
IDataProviderSvc * m_dataSvc
Reference to data provider service.
Base class from which all concrete algorithm classes should be derived.
SmartIF< IDataProviderSvc > & eventSvc() const
The standard event data service.
virtual unsigned long release()=0
Release Interface instance.
bool m_exploreRelations
Flag to check if relations should be followed.
KeyedObjectManager Class to manage keyed objects.
A small class used to access easily (and efficiently) data items residing in data stores...
virtual ~StoreExplorerAlg()
Standard Destructor.
virtual IDataProviderSvc * dataSvc() const =0
Retrieve pointer to Transient Store.
Small algorith, which traverses the data store and prints generic information about all leaves...
ObjectContainerBase is the base class for Gaudi container classes.
StatusCode service(const std::string &name, T *&psvc, bool createIf=true) const
Access a service by name, creating it if it doesn't already exist.
long m_frqPrint
Internal counter to adjust printout frequency.
A DataObject is the base class of any identifiable object on any data store.
bool m_testAccess
Flag to test access to objects (DataObject and ContainedObject)
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.