Gaudi Framework, version v23r5

Home   Generated: Wed Nov 28 2012
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
DetDataSvc Class Reference


More...

#include <DetectorDataSvc/DetDataSvc.h>

Inheritance diagram for DetDataSvc:
Inheritance graph
[legend]
Collaboration diagram for DetDataSvc:
Collaboration graph
[legend]

Public Member Functions

virtual StatusCode initialize ()
 Initialize the service.
 
virtual StatusCode reinitialize ()
 Initialize the service.
 
virtual StatusCode finalize ()
 Finalize the service.
 
virtual StatusCode clearStore ()
 Remove all data objects in the data store.
 
virtual StatusCode updateObject (DataObject *toUpdate)
 Update object.
 
 DetDataSvc (const std::string &name, ISvcLocator *svc)
 Standard Constructor.
 
virtual ~DetDataSvc ()
 Standard Destructor.
 
virtual bool validEventTime () const
 Check if the event time has been set.
 
virtual const Gaudi::TimeeventTime () const
 Get the event time.
 
virtual void setEventTime (const Gaudi::Time &time)
 Set the new event time.
 
virtual void handle (const Incident &)
 Inform that a new incident has occured.
 
- Public Member Functions inherited from extends2< DataSvc, IDetDataSvc, IIncidentListener >
 extends2 (A1 a1, A2 a2, A3 a3)
 Templated constructor with 3 arguments.
 
 extends2 (A1 a1, A2 a2)
 Templated constructor with 2 arguments.
 
 extends2 (A1 a1)
 Templated constructor with 1 argument.
 
 extends2 ()
 Default constructor.
 
virtual void * i_cast (const InterfaceID &tid) const
 Implementation of IInterface::i_cast.
 
virtual StatusCode queryInterface (const InterfaceID &ti, void **pp)
 Implementation of IInterface::queryInterface.
 
virtual std::vector< std::stringgetInterfaceNames () const
 Implementation of IInterface::getInterfaceNames.
 
virtual ~extends2 ()
 Virtual destructor.
 
- Public Member Functions inherited from DataSvc
virtual CLID rootCLID () const
 IDataManagerSvc: Accessor for root event CLID.
 
virtual std::string rootName () const
 IDataManagerSvc: Accessor for root event name.
 
virtual StatusCode registerAddress (const std::string &fullPath, IOpaqueAddress *pAddress)
 IDataManagerSvc: Register object address with the data store.
 
virtual StatusCode registerAddress (DataObject *parentObj, const std::string &objectPath, IOpaqueAddress *pAddress)
 IDataManagerSvc: Register object address with the data store.
 
virtual StatusCode registerAddress (IRegistry *parentObj, const std::string &objectPath, IOpaqueAddress *pAddress)
 IDataManagerSvc: Register object address with the data store.
 
virtual StatusCode unregisterAddress (const std::string &fullPath)
 IDataManagerSvc: Unregister object address from the data store.
 
virtual StatusCode unregisterAddress (DataObject *pParent, const std::string &objPath)
 IDataManagerSvc: Unregister object address from the data store.
 
virtual StatusCode unregisterAddress (IRegistry *pParent, const std::string &objPath)
 IDataManagerSvc: Unregister object address from the data store.
 
virtual StatusCode objectLeaves (const DataObject *pObject, std::vector< IRegistry * > &refLeaves)
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object.
 
virtual StatusCode objectLeaves (const IRegistry *pRegistry, std::vector< IRegistry * > &refLeaves)
 IDataManagerSvc: Explore the object store: retrieve all leaves attached to the object.
 
virtual StatusCode objectParent (const DataObject *pObject, IRegistry *&refpParent)
 IDataManagerSvc: Explore the object store: retrieve the object's parent.
 
virtual StatusCode objectParent (const IRegistry *pRegistry, IRegistry *&refpParent)
 IDataManagerSvc: Explore the object store: retrieve the object's parent.
 
virtual StatusCode clearSubTree (const std::string &sub_tree_path)
 IDataManagerSvc: Remove all data objects below the sub tree identified by its full path name.
 
virtual StatusCode clearSubTree (DataObject *pObject)
 IDataManagerSvc: Remove all data objects below the sub tree identified by the object.
 
virtual StatusCode traverseSubTree (const std::string &sub_tree_path, IDataStoreAgent *pAgent)
 IDataManagerSvc: Analyze by traversing all data objects below the sub tree identified by its full path name.
 
virtual StatusCode traverseSubTree (DataObject *pObject, IDataStoreAgent *pAgent)
 IDataManagerSvc: Analyze by traversing all data objects below the sub tree.
 
virtual StatusCode traverseTree (IDataStoreAgent *pAgent)
 IDataManagerSvc: Analyze by traversing all data objects in the data store.
 
virtual StatusCode setRoot (const std::string &root_name, DataObject *pRootObj)
 Initialize data store for new event by giving new event path and root object.
 
virtual StatusCode i_setRoot (const std::string &root_name, DataObject *pRootObj)
 Initialize data store for new event by giving new event path and root object.
 
virtual StatusCode setRoot (const std::string &root_path, IOpaqueAddress *pRootAddr)
 Initialize data store for new event by giving new event path and address of root object.
 
virtual StatusCode i_setRoot (const std::string &root_path, IOpaqueAddress *pRootAddr)
 Initialize data store for new event by giving new event path and address of root object.
 
virtual StatusCode setDataLoader (IConversionSvc *svc)
 IDataManagerSvc: IDataManagerSvc: Pass a default data loader to the service.
 
virtual StatusCode addPreLoadItem (const DataStoreItem &item)
 Add an item to the preload list.
 
virtual StatusCode addPreLoadItem (const std::string &itemPath)
 Add an item to the preload list.
 
virtual StatusCode removePreLoadItem (const DataStoreItem &item)
 Remove an item from the preload list.
 
virtual StatusCode removePreLoadItem (const std::string &itemPath)
 Add an item to the preload list.
 
virtual StatusCode resetPreLoad ()
 Clear the preload list.
 
virtual StatusCode preLoad (int depth, int load_depth, DataObject *pObject)
 Execute one level of preloading and recursively load until the final level is reached.
 
virtual StatusCode preLoad ()
 load all preload items of the list
 
virtual StatusCode registerObject (const std::string &fullPath, DataObject *pObject)
 Register object with the data store.
 
virtual StatusCode registerObject (const std::string &parentPath, const std::string &objPath, DataObject *pObject)
 Register object with the data store.
 
virtual StatusCode registerObject (const std::string &parentPath, int item, DataObject *pObject)
 Register object with the data store.
 
virtual StatusCode registerObject (DataObject *parentObj, const std::string &objPath, DataObject *pObject)
 Register object with the data store.
 
virtual StatusCode registerObject (DataObject *parentObj, int item, DataObject *pObject)
 Register object with the data store.
 
virtual StatusCode unregisterObject (const std::string &fullPath)
 Unregister object from the data store.
 
virtual StatusCode unregisterObject (const std::string &parentPath, const std::string &objectPath)
 Unregister object from the data store.
 
virtual StatusCode unregisterObject (const std::string &parentPath, int item)
 Unregister object from the data store.
 
virtual StatusCode unregisterObject (DataObject *pObject)
 Unregister object from the data store.
 
virtual StatusCode unregisterObject (DataObject *pObject, const std::string &objectPath)
 Unregister object from the data store.
 
virtual StatusCode unregisterObject (DataObject *pObject, int item)
 Unregister object from the data store.
 
virtual StatusCode retrieveObject (IRegistry *pDirectory, const std::string &path, DataObject *&pObject)
 Retrieve object from data store.
 
virtual StatusCode retrieveObject (const std::string &fullPath, DataObject *&pObject)
 Retrieve object identified by its full path from the data store.
 
virtual StatusCode retrieveObject (const std::string &parentPath, const std::string &objPath, DataObject *&pObject)
 Retrieve object from data store.
 
virtual StatusCode retrieveObject (const std::string &parentPath, int item, DataObject *&pObject)
 Retrieve object from data store.
 
virtual StatusCode retrieveObject (DataObject *parentObj, const std::string &objPath, DataObject *&pObject)
 Retrieve object from data store.
 
virtual StatusCode retrieveObject (DataObject *parentObj, int item, DataObject *&pObject)
 Retrieve object from data store.
 
virtual StatusCode findObject (const std::string &fullPath, DataObject *&pObject)
 Find object identified by its full path in the data store.
 
virtual StatusCode findObject (IRegistry *pDirectory, const std::string &path, DataObject *&pObject)
 Find object identified by its full path in the data store.
 
virtual StatusCode findObject (const std::string &parentPath, const std::string &objPath, DataObject *&pObject)
 Find object in the data store.
 
virtual StatusCode findObject (const std::string &parentPath, int item, DataObject *&pObject)
 Find object in the data store.
 
virtual StatusCode findObject (DataObject *parentObj, const std::string &objPath, DataObject *&pObject)
 Find object in the data store.
 
virtual StatusCode findObject (DataObject *parentObj, int item, DataObject *&pObject)
 Find object in the data store.
 
virtual StatusCode linkObject (IRegistry *from, const std::string &objPath, DataObject *to)
 Add a link to another object.
 
virtual StatusCode linkObject (const std::string &fromPath, const std::string &objPath, DataObject *to)
 Add a link to another object.
 
virtual StatusCode linkObject (DataObject *from, const std::string &objPath, DataObject *to)
 Add a link to another object.
 
virtual StatusCode linkObject (const std::string &fullPath, DataObject *to)
 Add a link to another object.
 
virtual StatusCode unlinkObject (IRegistry *from, const std::string &objPath)
 Remove a link to another object.
 
virtual StatusCode unlinkObject (const std::string &fromPath, const std::string &objPath)
 Remove a link to another object.
 
virtual StatusCode unlinkObject (DataObject *fromObj, const std::string &objPath)
 Remove a link to another object.
 
virtual StatusCode unlinkObject (const std::string &fullPath)
 Remove a link to another object.
 
virtual StatusCode updateObject (IRegistry *pDirectory)
 Update object identified by its directory entry.
 
virtual StatusCode updateObject (const std::string &updatePath)
 Update object.
 
virtual StatusCode updateObject (const std::string &parentPath, const std::string &updatePath)
 Update object.
 
virtual StatusCode updateObject (DataObject *pParent, const std::string &updatePath)
 Update object.
 
 DataSvc (const std::string &name, ISvcLocator *svc)
 Standard Constructor.
 
virtual ~DataSvc ()
 Standard Destructor.
 
- Public Member Functions inherited from extends2< Service, IDataProviderSvc, IDataManagerSvc >
 extends2 (A1 a1, A2 a2, A3 a3)
 Templated constructor with 3 arguments.
 
 extends2 (A1 a1, A2 a2)
 Templated constructor with 2 arguments.
 
 extends2 (A1 a1)
 Templated constructor with 1 argument.
 
 extends2 ()
 Default constructor.
 
- Public Member Functions inherited from Service
virtual unsigned long release ()
 Release Interface instance.
 
virtual const std::stringname () const
 Retrieve name of the service.
 
virtual StatusCode configure ()
 
virtual StatusCode start ()
 
virtual StatusCode stop ()
 
virtual StatusCode terminate ()
 
virtual Gaudi::StateMachine::State FSMState () const
 
virtual Gaudi::StateMachine::State targetFSMState () const
 
virtual StatusCode restart ()
 
virtual StatusCode sysInitialize ()
 Initialize Service.
 
virtual StatusCode sysStart ()
 Initialize Service.
 
virtual StatusCode sysStop ()
 Initialize Service.
 
virtual StatusCode sysFinalize ()
 Finalize Service.
 
virtual StatusCode sysReinitialize ()
 Re-initialize the Service.
 
virtual StatusCode sysRestart ()
 Re-initialize the Service.
 
virtual StatusCode setProperty (const Property &p)
 
virtual StatusCode setProperty (const std::string &s)
 
virtual StatusCode setProperty (const std::string &n, const std::string &v)
 
virtual StatusCode getProperty (Property *p) const
 
virtual const PropertygetProperty (const std::string &name) const
 
virtual StatusCode getProperty (const std::string &n, std::string &v) const
 
virtual const std::vector
< Property * > & 
getProperties () const
 
template<class TYPE >
StatusCode setProperty (const std::string &name, const TYPE &value)
 set the property form the value
 
 Service (const std::string &name, ISvcLocator *svcloc)
 Standard Constructor.
 
SmartIF< ISvcLocator > & serviceLocator () const
 Retrieve pointer to service locator.
 
StatusCode setProperties ()
 Method for setting declared properties to the values specified for the job.
 
template<class T >
StatusCode service (const std::string &name, const T *&psvc, bool createIf=true) const
 Access a service by name, creating it if it doesn't already exist.
 
template<class T >
StatusCode service (const std::string &name, T *&psvc, bool createIf=true) const
 
template<class T >
StatusCode service (const std::string &svcType, const std::string &svcName, T *&psvc) const
 Access a service by name and type, creating it if it doesn't already exist.
 
template<class T >
PropertydeclareProperty (const std::string &name, T &property, const std::string &doc="none") const
 Declare the named property.
 
PropertydeclareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const
 Declare remote named properties.
 
SmartIF< IAuditorSvc > & auditorSvc () const
 The standard auditor service.May not be invoked before sysInitialize() has been invoked.
 
- Public Member Functions inherited from CommonMessaging< implements3< IService, IProperty, IStateful > >
 CommonMessaging (const A1 &a1, const A2 &a2, const A3 &a3)
 Templated constructor with 3 arguments.
 
 CommonMessaging (const A1 &a1, const A2 &a2)
 Templated constructor with 2 arguments.
 
 CommonMessaging (const A1 &a1)
 Templated constructor with 1 argument.
 
 CommonMessaging ()
 Default constructor.
 
virtual ~CommonMessaging ()
 Virtual destructor.
 
SmartIF< IMessageSvc > & msgSvc () const
 The standard message service.
 
MsgStreammsgStream () const
 Return an uninitialized MsgStream.
 
MsgStreammsgStream (const MSG::Level level) const
 Predefined configurable message stream for the efficient printouts.
 
MsgStreamalways () const
 shortcut for the method msgStream(MSG::ALWAYS)
 
MsgStreamfatal () const
 shortcut for the method msgStream(MSG::FATAL)
 
MsgStreamerr () const
 shortcut for the method msgStream(MSG::ERROR)
 
MsgStreamerror () const
 shortcut for the method msgStream(MSG::ERROR)
 
MsgStreamwarning () const
 shortcut for the method msgStream(MSG::WARNING)
 
MsgStreaminfo () const
 shortcut for the method msgStream(MSG::INFO)
 
MsgStreamdebug () const
 shortcut for the method msgStream(MSG::DEBUG)
 
MsgStreamverbose () const
 shortcut for the method msgStream(MSG::VERBOSE)
 
MsgStreammsg () const
 shortcut for the method msgStream(MSG::INFO)
 
MSG::Level msgLevel () const
 get the output level from the embedded MsgStream
 
bool msgLevel (MSG::Level lvl) const
 get the output level from the embedded MsgStream
 
- Public Member Functions inherited from extend_interfaces2< I1, I2 >
virtual ~extend_interfaces2 ()
 Virtual destructor.
 

Private Member Functions

StatusCode setupDetectorDescription ()
 Deal with Detector Description initialization.
 

Private Attributes

int m_detStorageType
 Detector Data Persistency Storage type.
 
std::string m_detDbLocation
 Location of detector Db (filename,URL)
 
std::string m_detDbRootName
 Name of the root node of the detector.
 
std::string m_persistencySvcName
 Name of the persistency service.
 
bool m_usePersistency
 Flag to control if the persistency is required.
 
Gaudi::Time m_eventTime
 Current event time.
 
SmartIF< IAddressCreatorm_addrCreator
 Address Creator to be used.
 

Friends

class SvcFactory< DetDataSvc >
 

Additional Inherited Members

- Public Types inherited from extends2< DataSvc, IDetDataSvc, IIncidentListener >
typedef extends2 base_class
 Typedef to this class.
 
typedef extend_interfaces2
< IDetDataSvc,
IIncidentListener
extend_interfaces_base
 Typedef to the base of this class.
 
typedef
extend_interfaces_base::ext_iids 
interfaces
 MPL set of all the implemented interfaces.
 
- Protected Member Functions inherited from DataSvc
bool checkRoot ()
 Check if root path is valid.
 
virtual IConversionSvcgetDataLoader (IRegistry *pReg)
 Retrieve customizable data loader according to registry entry to be retrieved.
 
virtual DataObjectcreateDefaultObject () const
 Create default objects in case forced creation of leaves is requested.
 
virtual StatusCode loadObject (IRegistry *pNode)
 Invoke Persistency service to create transient object from its persistent representation.
 
virtual StatusCode loadObject (IConversionSvc *pLoader, IRegistry *pNode)
 Invoke Persistency service to create transient object from its persistent representation.
 
StatusCode retrieveEntry (DataSvcHelpers::RegistryEntry *pNode, const std::string &path, DataSvcHelpers::RegistryEntry *&pEntry)
 Retrieve registry entry from store.
 
DataObjecthandleDataFault (IRegistry *pReg, const std::string &path="")
 Invoke data fault handling if enabled.
 
- Protected Attributes inherited from DataSvc
CLID m_rootCLID
 Integer Property corresponding to CLID of root entry.
 
std::string m_rootName
 Name of root event.
 
IConversionSvcm_dataLoader
 Pointer to data loader service.
 
IIncidentSvcm_incidentSvc
 Pointer to incident service.
 
LoadItems m_preLoads
 Items to be pre-loaded.
 
bool m_forceLeaves
 Allow forced creation of default leaves on registerObject.
 
bool m_enableAccessHdlr
 Flag to enable interrupts on data access requests.
 
bool m_enableFaultHdlr
 Flag to enable interrupts on data creation requests.
 
DataSvcHelpers::RegistryEntrym_root
 Pointer to root entry.
 
DataSvcHelpers::InhibitMap * m_inhibitMap
 Map with object paths to be inhibited from loading.
 
std::vector< std::stringm_inhibitPathes
 Property for the inhibited leaves.
 
std::string m_accessName
 Name of the data access incident.
 
std::string m_faultName
 Name of the data fault incident.
 

Detailed Description


A DataSvc specialized in detector data.

Author
Marco Clemencic (previous author unknown)

Definition at line 24 of file DetDataSvc.h.

Constructor & Destructor Documentation

DetDataSvc::DetDataSvc ( const std::string name,
ISvcLocator svc 
)

Standard Constructor.

Definition at line 186 of file DetDataSvc.cpp.

:
declareProperty("DetDbLocation", m_detDbLocation = "empty" );
declareProperty("DetDbRootName", m_detDbRootName = "dd" );
declareProperty("UsePersistency", m_usePersistency = false );
declareProperty("PersistencySvc", m_persistencySvcName = "DetectorPersistencySvc" );
m_rootName = "/dd";
}
DetDataSvc::~DetDataSvc ( )
virtual

Standard Destructor.

Definition at line 199 of file DetDataSvc.cpp.

{
}

Member Function Documentation

StatusCode DetDataSvc::clearStore ( )
virtual

Remove all data objects in the data store.

Reimplemented from DataSvc.

Definition at line 152 of file DetDataSvc.cpp.

{
// Create root address
unsigned long iargs[] = {0,0};
IOpaqueAddress* rootAddr;
args,
iargs,
rootAddr);
// Set detector data store root
if( sc.isSuccess() ) {
std::string dbrName = "/" + m_detDbRootName;
sc = i_setRoot( dbrName, rootAddr );
if( sc.isFailure() ) {
error() << "Unable to set detector data store root" << endmsg;
}
} else {
error() << "Unable to create address for /dd" << endmsg;
}
return sc;
}
}
const Gaudi::Time & DetDataSvc::eventTime ( ) const
virtual

Get the event time.

Definition at line 214 of file DetDataSvc.cpp.

{
return m_eventTime;
}
StatusCode DetDataSvc::finalize ( )
virtual

Finalize the service.

Reimplemented from DataSvc.

Definition at line 133 of file DetDataSvc.cpp.

{
DEBMSG << "Finalizing" << endmsg;
// clears the store
m_usePersistency = false; // avoid creation of an empty store when clearing
// Releases the address creator
// Releases the DataLoader
// Finalize the base class
}
void DetDataSvc::handle ( const Incident inc)
virtual

Inform that a new incident has occured.

Inform that a new incident has occurred.

Definition at line 219 of file DetDataSvc.cpp.

{
debug() << "New incident received" << endmsg;
debug() << "Incident source: " << inc.source() << endmsg;
debug() << "Incident type: " << inc.type() << endmsg;
}
return;
}
StatusCode DetDataSvc::initialize ( )
virtual

Initialize the service.

Reimplemented from DataSvc.

Definition at line 28 of file DetDataSvc.cpp.

{
// Call base class initialization
if( UNLIKELY(sc.isFailure()) ) return sc;
// Set Data Loader
if( UNLIKELY(!cnv_svc.isValid()) ) {
error() << "Unable to retrieve " << m_persistencySvcName << endmsg;
}
sc = setDataLoader(cnv_svc);
if( UNLIKELY(sc.isFailure()) ) {
error() << "Unable to set DataLoader" << endmsg;
return sc;
}
// Get address creator from the DetectorPersistencySvc
m_addrCreator = cnv_svc;
error() << "Unable to get AddressCreator." << endmsg;
}
}
StatusCode DetDataSvc::reinitialize ( )
virtual

Initialize the service.

Reimplemented from DataSvc.

Definition at line 115 of file DetDataSvc.cpp.

{
// The DetectorDataSvc does not need to be re-initialized. If it is done
// all the Algorithms having references to DetectorElements will become
// invalid and crash the program. (Pere Mato)
// Call base class reinitialization
//StatusCode sc = DataSvc::reinitialize();
//if( sc.isFailure() ) return sc;
// Delete the associated event time
//if( 0 != m_eventTime ) delete m_eventTime;
//m_eventTimeDefined = false;
//return setupDetectorDescription();
}
void DetDataSvc::setEventTime ( const Gaudi::Time time)
virtual

Set the new event time.

Definition at line 203 of file DetDataSvc.cpp.

{
m_eventTime = time;
DEBMSG << "Event Time set to " << eventTime() << endmsg;
}
StatusCode DetDataSvc::setupDetectorDescription ( )
private

Deal with Detector Description initialization.

Todo:
: remove references to obsolete package XMLDDDBROOT

Definition at line 56 of file DetDataSvc.cpp.

{
// Initialize the detector data transient store
debug() << "Storage type used is: " << m_detStorageType << endmsg;
debug() << "Setting DetectorDataSvc root node... " << endmsg;
}
IOpaqueAddress* rootAddr;
if( m_detDbLocation.empty() || "empty" == m_detDbLocation ) {
// if the name of DBlocation is not given - construct it!
// by retrieving the value of XMLDDBROOT
if ( isEnvSet("XMLDDDBROOT") ) {
m_detDbLocation = getEnv("XMLDDDBROOT");
m_detDbLocation += "/DDDB/lhcb.xml";
}
}
if( m_detDbLocation.empty() || "empty" == m_detDbLocation ) {
error() << "Detector data location name not set. Detector data will "
"not be found." << endmsg;
}
else {
// Create address
unsigned long iargs[]={0,0};
args,
iargs,
rootAddr);
if( sc.isSuccess() ) {
std::string dbrName = "/" + m_detDbRootName;
sc = i_setRoot( dbrName, rootAddr );
if( sc.isFailure() ) {
error() << "Unable to set detector data store root" << endmsg;
return sc;
}
}
else {
error() << "Unable to create address for /dd" << endmsg;
return sc;
}
}
// Writing the description file in the output log file [bugs #2854]
always() << "Detector description database: " << m_detDbLocation << endmsg;
}
else {
info() << "Detector description not requested to be loaded" << endmsg;
}
}
StatusCode DetDataSvc::updateObject ( DataObject toUpdate)
virtual

Update object.

Todo:
update also its ancestors in the data store if necessary

Reimplemented from DataSvc.

Definition at line 230 of file DetDataSvc.cpp.

{
DEBMSG << "Method updateObject starting" << endmsg;
// Check that object to update exists
if ( 0 == toUpdate ) {
error() << "There is no DataObject to update" << endmsg;
return INVALID_OBJECT;
}
// Retrieve IValidity interface of object to update
IValidity* condition = dynamic_cast<IValidity*>( toUpdate );
if ( 0 == condition ) {
<< "Cannot update DataObject: DataObject does not implement IValidity"
<< endmsg;
}
// Check that the event time has been defined
if ( !validEventTime() ) {
<< "Cannot update DataObject: event time undefined"
<< endmsg;
}
// No need to update if condition is valid
if ( condition->isValid( eventTime() ) ) {
DEBMSG << "DataObject is valid: no need to update" << endmsg;
} else {
DEBMSG << "DataObject is invalid: update it" << endmsg;
}
// TODO: before loading updated object, update HERE its parent in data store
// Now delegate update to the conversion service by calling the base class
DEBMSG << "Delegate update to relevant conversion service" << endmsg;
StatusCode status = DataSvc::updateObject(toUpdate);
if ( !status.isSuccess() ) {
error() << "Could not update DataObject" << endmsg;
if ( status == NO_DATA_LOADER )
error() << "There is no data loader" << endmsg;
return status;
}
// Now cross-check that the new condition is valid
condition = dynamic_cast<IValidity*>(toUpdate);
if ( 0 == condition ) {
error() << "Updated DataObject does not implement IValidity" << endmsg;
}
!condition->isValid( eventTime() ) ) {
error() << "Updated DataObject is not valid" << endmsg;
error() << "Are you sure the conversion service has updated it?" << endmsg;
}
// DataObject was successfully updated
DEBMSG << "Method updateObject exiting successfully" << endmsg;
}
bool DetDataSvc::validEventTime ( ) const
virtual

Check if the event time has been set.

Kept for backward compatibility, returns always true.

Definition at line 209 of file DetDataSvc.cpp.

{
return true;
}

Friends And Related Function Documentation

friend class SvcFactory< DetDataSvc >
friend

Definition at line 27 of file DetDataSvc.h.

Member Data Documentation

SmartIF<IAddressCreator> DetDataSvc::m_addrCreator
private

Address Creator to be used.

Definition at line 103 of file DetDataSvc.h.

std::string DetDataSvc::m_detDbLocation
private

Location of detector Db (filename,URL)

Definition at line 88 of file DetDataSvc.h.

std::string DetDataSvc::m_detDbRootName
private

Name of the root node of the detector.

Definition at line 91 of file DetDataSvc.h.

int DetDataSvc::m_detStorageType
private

Detector Data Persistency Storage type.

Definition at line 85 of file DetDataSvc.h.

Gaudi::Time DetDataSvc::m_eventTime
private

Current event time.

Definition at line 100 of file DetDataSvc.h.

std::string DetDataSvc::m_persistencySvcName
private

Name of the persistency service.

Definition at line 94 of file DetDataSvc.h.

bool DetDataSvc::m_usePersistency
private

Flag to control if the persistency is required.

Definition at line 97 of file DetDataSvc.h.


The documentation for this class was generated from the following files:
Generated at Wed Nov 28 2012 12:17:26 for Gaudi Framework, version v23r5 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004