75 if ( !p )
return "Access FAILED.";
87 for (
size_t j = 1; j < flg.
size(); j++ ) {
88 if ( !flg[j-1] && flg[j] )
log <<
"| ";
89 else if ( flg[j] )
log <<
" ";
94 log <<
" [Address: CLID="
99 log <<
" [No Address]";
105 if ( m_testAccess ) p->
clID();
109 log <<
"Access test FAILED";
113 log <<
" (Unloaded) ";
120 log <<
" [" << numObj <<
"]";
121 if ( m_testAccess ) {
124 case CLID_ObjectList>>16:
127 case CLID_ObjectVector>>16:
130 case (CLID_ObjectVector+0x00030000)>>16:
133 case (CLID_ObjectVector+0x00040000)>>16:
136 case (CLID_ObjectVector+0x00050000)>>16:
143 log <<
"Access test FAILED";
159 for (
auto i=leaves.
begin();
i != leaves.
end();
i++ ) {
162 if ( !m_accessForeign && (*i)->address() ) {
165 if ( par1 && par0[0] != par1[0] )
continue;
174 if (
id !=
"/Event/Rec/Relations" || m_exploreRelations ) {
193 m_dataSvc =
service(m_dataSvcName,
true);
195 error() <<
"Failed to access service \""
196 << m_dataSvcName <<
"\"." <<
endmsg;
201 error() <<
"Failed to retrieve IDataManagerSvc interface." <<
endmsg;
204 m_rootName = mgr->rootName();
217 if ( ((m_print > m_total++) || (m_frequency*m_total > m_frqPrint)) &&
root ) {
218 if ( m_frequency*m_total > m_frqPrint ) m_frqPrint++;
223 if ( isvc ) store_name = isvc->name();
225 info() <<
"========= " << m_rootName <<
"["
227 <<
"@" << store_name <<
"]:" <<
endmsg;
234 error() <<
"Cannot retrieve \"/Event\"!" <<
endmsg;
virtual const std::string * par() const =0
Retrieve String parameters.
StatusCode initialize() override
Initialize.
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.
MsgStream & info() const
shortcut for the method msgStream(MSG::INFO)
SmartIF< IDataProviderSvc > m_dataSvc
Reference to data provider service.
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)
StatusCode execute() override
Execute procedure.
bool m_load
Flag to load non existing items.
virtual long svcType() const =0
Retrieve service type.
long m_total
Internal counter to trigger printouts.
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...
long m_print
Job option to limit printout to first nnn events.
const std::string & name() const override
The identifying name of the algorithm object.
TYPE * get() const
Get interface pointer.
MsgStream & error() const
shortcut for the method msgStream(MSG::ERROR)
SmartIF< IFace > as() const
return a new SmartIF instance to another interface
virtual const CLID & clID() const
Retrieve reference to class definition structure.
virtual StatusCode findObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
Find object identified by its directory entry.
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.
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)
Base class from which all concrete algorithm classes should be derived.
SmartIF< IDataProviderSvc > & eventSvc() const
The standard event data service.
StatusCode finalize() override
Finalize.
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 IDataProviderSvc * dataSvc() const =0
Retrieve pointer to Transient Store.
~StoreExplorerAlg() override=default
Standard Destructor.
Small algorith, which traverses the data store and prints generic information about all leaves...
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
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.
virtual StatusCode retrieveObject(IRegistry *pDirectory, const std::string &path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.