#include <components/ErrorTool.h>
Inheritance diagram for ErrorTool:
Public Types | |
SUCCESS | |
NO_INTERFACE | |
VERSMISMATCH | |
LAST_ERROR | |
enum | Status |
Public Member Functions | |
ErrorTool (const std::string &type, const std::string &name, const IInterface *parent) | |
Standard constructor. | |
virtual | ~ErrorTool () |
virtual and protected destrcutor | |
virtual StatusCode | Error (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const |
Print the error message, return status code and perform the statistics of error messages. | |
virtual StatusCode | Warning (const std::string &msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const |
Print the warning message, return status code and perform the statistics of warning messages. | |
virtual StatusCode | Print (const std::string &msg, const StatusCode st=StatusCode::SUCCESS, const MSG::Level lev=MSG::INFO) const |
Print the message and return status code. | |
virtual StatusCode | Assert (const bool ok, const std::string &message="", const StatusCode sc=StatusCode::FAILURE) const |
Assertion - throw exception, if condition is not fulfilled. | |
virtual StatusCode | Exception (const std::string &msg, const GaudiException &exc, const StatusCode sc=StatusCode::FAILURE) const |
Create and (re)-throw the exception. | |
virtual StatusCode | Exception (const std::string &msg, const std::exception &exc, const StatusCode sc=StatusCode::FAILURE) const |
Create and (re)-throw the exception. | |
virtual StatusCode | Exception (const std::string &msg="no message", const StatusCode sc=StatusCode::FAILURE) const |
Create and throw the exception. | |
virtual StatusCode | initialize () |
standard initialization method | |
virtual StatusCode | finalize () |
standard finalization method | |
INTupleSvc * | ntupleSvc () const |
Access the standard N-Tuple. | |
INTupleSvc * | evtColSvc () const |
Access the standard event collection service. | |
IDataProviderSvc * | detSvc () const |
accessor to detector service | |
IDataProviderSvc * | evtSvc () const |
accessor to event service service | |
IIncidentSvc * | incSvc () const |
accessor to Incident Service | |
IChronoStatSvc * | chronoSvc () const |
accessor to Chrono & Stat Service | |
IHistogramSvc * | histoSvc () const |
acessor to the histogram service | |
IAlgContextSvc * | contextSvc () const |
acessor to the Algorithm Context Service | |
DataObject * | put (IDataProviderSvc *svc, DataObject *object, const std::string &address, const bool useRootInTES=true) const |
Register a data object or container into Gaudi Event Transient Store. | |
DataObject * | put (DataObject *object, const std::string &address, const bool useRootInTES=true) const |
Register a data object or container into Gaudi Event Transient Store. | |
template<class TYPE> | |
Gaudi::Utils::GetData< TYPE >::return_type | get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
Templated access to the data in Gaudi Transient Store. | |
template<class TYPE> | |
Gaudi::Utils::GetData< TYPE >::return_type | get (const std::string &location, const bool useRootInTES=true) const |
Templated access to the data from Gaudi Event Transient Store. | |
template<class TYPE> | |
TYPE * | getDet (IDataProviderSvc *svc, const std::string &location) const |
Templated access to the detector data from the Gaudi Detector Transient Store. | |
template<class TYPE> | |
TYPE * | getDet (const std::string &location) const |
Templated access to the detector data from the Gaudi Detector Transient Store. | |
template<class TYPE> | |
bool | exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
Check the existence of a data object or container in the Gaudi Transient Event Store. | |
template<class TYPE> | |
bool | exist (const std::string &location, const bool useRootInTES=true) const |
Check the existence of a data object or container in the Gaudi Transient Event Store. | |
template<class TYPE> | |
bool | existDet (IDataProviderSvc *svc, const std::string &location) const |
Check the existence of detector objects in the Gaudi Transient Detector Store. | |
template<class TYPE> | |
bool | existDet (const std::string &location) const |
Check the existence of detector objects in the Gaudi Transient Detector Store. | |
template<class TYPE, class TYPE2> | |
TYPE * | getOrCreate (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
Get the existing data object from Gaudi Event Transient store. | |
template<class TYPE, class TYPE2> | |
TYPE * | getOrCreate (const std::string &location, const bool useRootInTES=true) const |
Get the existing data object from Gaudi Event Transient store. | |
TOOL * | tool (const std::string &type, const std::string &name, const IInterface *parent=0, bool create=true) const |
Useful method for the easy location of tools. | |
TOOL * | tool (const std::string &type, const IInterface *parent=0, bool create=true) const |
A useful method for the easy location of tools. | |
SERVICE * | svc (const std::string &name, const bool create=true) const |
A useful method for the easy location of services. | |
IUpdateManagerSvc * | updMgrSvc () const |
Short-cut to locate the Update Manager Service. | |
IDataProviderSvc * | fastContainersSvc () const |
Short-cut to locate the Fast Containers Service. | |
StatusCode | Assert (const bool ok, const char *message, const StatusCode sc=StatusCode(StatusCode::FAILURE, true)) const |
Assertion - throw exception if the given condition is not fulfilled. | |
MsgStream & | msgStream (const MSG::Level level) const |
Predefined configurable message stream for the efficient printouts. | |
MsgStream & | always () const |
shortcut for the method msgStream ( MSG::ALWAYS ) | |
MsgStream & | fatal () const |
shortcut for the method msgStream ( MSG::FATAL ) | |
MsgStream & | err () const |
shortcut for the method msgStream ( MSG::ERROR ) | |
MsgStream & | error () const |
shortcut for the method msgStream ( MSG::ERROR ) | |
MsgStream & | warning () const |
shortcut for the method msgStream ( MSG::WARNING ) | |
MsgStream & | info () const |
shortcut for the method msgStream ( MSG::INFO ) | |
MsgStream & | debug () const |
shortcut for the method msgStream ( MSG::DEBUG ) | |
MsgStream & | verbose () const |
shortcut for the method msgStream ( MSG::VERBOSE ) | |
MsgStream & | msg () const |
shortcut for the method msgStream ( MSG::INFO ) | |
const Statistics & | counters () const |
accessor to all counters | |
StatEntity & | counter (const std::string &tag) const |
accessor to certain counter by name | |
MSG::Level | msgLevel () const |
The current message service output level. | |
bool | msgLevel (const MSG::Level level) const |
Test the output level. | |
void | resetMsgStream () const |
Reset (delete) the current message stream object. | |
bool | typePrint () const |
Insert the actual C++ type of the algorithm/tool in the messages ? | |
bool | propsPrint () const |
Print properties at initalization ? | |
bool | statPrint () const |
Print statistical counters at finalization ? | |
bool | errorsPrint () const |
Print error counters at finalization ? | |
long | printStat (const MSG::Level level=MSG::ALWAYS) const |
perform the actual printout of statistical counters | |
long | printErrors (const MSG::Level level=MSG::ALWAYS) const |
perform the actual printout of error counters | |
long | printProps (const MSG::Level level=MSG::ALWAYS) const |
perform the actual printout of properties | |
void | registerCondition (const std::string &condition, StatusCode(CallerClass::*mf)()=NULL) |
register the current instance to the UpdateManagerSvc as a consumer for a condition. | |
void | registerCondition (const std::string &condition, CondType *&condPtrDest, StatusCode(CallerClass::*mf)()=NULL) |
register the current instance to the UpdateManagerSvc as a consumer for a condition. | |
void | registerCondition (char *condition, StatusCode(CallerClass::*mf)()=NULL) |
just to avoid conflicts with the version using a pointer to a template class. | |
void | registerCondition (TargetClass *condition, StatusCode(CallerClass::*mf)()=NULL) |
register the current instance to the UpdateManagerSvc as a consumer for a condition. | |
StatusCode | runUpdate () |
asks the UpdateManagerSvc to perform an update of the instance (if needed) without waiting the next BeginEvent incident. | |
TransientFastContainer< T > * | getFastContainer (const std::string &location, typename TransientFastContainer< T >::size_type initial=0) |
Return a new TransientFastContainer for objects of type T. | |
StatusCode | release (const IInterface *interface) const |
Manual forced (and 'safe') release of the active tool or service. | |
virtual unsigned long | release () |
const std::string & | context () const |
Returns the "context" string. Used to indentify different processing states. | |
const std::string & | rootInTES () const |
Returns the "rootInTES" string. | |
double | globalTimeOffset () const |
Returns the "globalTimeOffset" double. | |
virtual StatusCode | queryInterface (const InterfaceID &riid, void **ppvUnknown) |
virtual unsigned long | addRef () |
virtual const std::string & | name () const |
virtual const std::string & | type () const |
virtual const IInterface * | parent () const |
virtual StatusCode | configure () |
virtual StatusCode | start () |
virtual StatusCode | stop () |
virtual StatusCode | terminate () |
virtual StatusCode | reinitialize () |
virtual StatusCode | restart () |
virtual Gaudi::StateMachine::State | FSMState () const |
virtual Gaudi::StateMachine::State | targetFSMState () const |
virtual StatusCode | sysInitialize () |
virtual StatusCode | sysStart () |
virtual StatusCode | sysStop () |
virtual StatusCode | sysFinalize () |
virtual StatusCode | sysReinitialize () |
virtual StatusCode | sysRestart () |
virtual StatusCode | setProperty (const Property &p) |
virtual StatusCode | setProperty (const std::string &s) |
virtual StatusCode | setProperty (const std::string &n, const std::string &v) |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
virtual StatusCode | getProperty (Property *p) const |
virtual const Property & | getProperty (const std::string &name) const |
virtual StatusCode | getProperty (const std::string &n, std::string &v) const |
virtual const std::vector< Property * > & | getProperties () const |
PropertyMgr * | getPropertyMgr () |
ISvcLocator * | serviceLocator () const |
ISvcLocator * | svcLoc () const |
IMessageSvc * | msgSvc () const |
IToolSvc * | toolSvc () const |
StatusCode | setProperties () |
StatusCode | service (const std::string &name, T *&svc, bool createIf=true) const |
StatusCode | service (const std::string &type, const std::string &name, T *&svc) const |
void | declInterface (const InterfaceID &, void *) |
Property * | declareProperty (const std::string &name, T &property, const std::string &doc="none") const |
Property * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") const |
IAuditorSvc * | auditorSvc () const |
IMonitorSvc * | monitorSvc () const |
void | declareInfo (const std::string &name, const T &var, const std::string &desc) const |
void | declareInfo (const std::string &name, const std::string &format, const void *var, int size, const std::string &desc) const |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
static const InterfaceID & | interfaceID () |
static const InterfaceID & | interfaceID () |
static const InterfaceID & | interfaceID () |
Return the unique interface ID. | |
Public Attributes | |
SUCCESS | |
NO_INTERFACE | |
VERSMISMATCH | |
LAST_ERROR | |
Protected Types | |
typedef std::map< std::string, StatEntity > | Statistics |
the actual type of general counters | |
typedef std::map< std::string, unsigned int > | Counter |
the actual type error/warning counter | |
typedef std::vector< IAlgTool * > | AlgTools |
storage for active tools | |
typedef std::pair< IInterface *, std::string > | ServiceEntry |
Service pointer and name. | |
typedef std::vector< ServiceEntry > | Services |
storage for active services | |
Protected Member Functions | |
StatusCode | releaseTool (const IAlgTool *tool) const |
manual forced (and 'safe') release of the tool | |
StatusCode | releaseSvc (const IInterface *svc) const |
manual forced (and 'safe') release of the service | |
int | outputLevel () const |
virtual unsigned long | refCount () const |
IntegerProperty & | outputLevelProperty () |
void | initOutputLevel (Property &prop) |
Static Protected Attributes | |
static const bool | IgnoreRootInTES |
Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. | |
static const bool | UseRootInTES |
Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. |
Definition at line 23 of file ErrorTool.h.
typedef std::map<std::string,StatEntity> GaudiCommon< AlgTool >::Statistics [protected, inherited] |
typedef std::map<std::string,unsigned int> GaudiCommon< AlgTool >::Counter [protected, inherited] |
typedef std::vector<IAlgTool*> GaudiCommon< AlgTool >::AlgTools [protected, inherited] |
typedef std::pair<IInterface*,std::string> GaudiCommon< AlgTool >::ServiceEntry [protected, inherited] |
typedef std::vector<ServiceEntry> GaudiCommon< AlgTool >::Services [protected, inherited] |
ErrorTool::ErrorTool | ( | const std::string & | type, | |
const std::string & | name, | |||
const IInterface * | parent | |||
) |
ErrorTool::~ErrorTool | ( | ) | [virtual] |
virtual StatusCode ErrorTool::Error | ( | const std::string & | msg, | |
const StatusCode | st = StatusCode::FAILURE , |
|||
const size_t | mx = 10 | |||
) | const [inline, virtual] |
Print the error message, return status code and perform the statistics of error messages.
IErrorTool* tool = .. ; if( a < 0 ) { return tool->Error(" 'a' is negative!") ;} if( b < 0 ) { return tool->Error(" 'b' is illegal!" , StatusCode(25) ); if( c < 0 ) { return tool->Error(" 'c' is negative" , StatusCode(35) , 50 );
msg | error message | |
st | status code | |
mx | maximal number of printouts |
Implements IErrorTool.
Definition at line 67 of file ErrorTool.h.
00070 { return GaudiTool::Error ( msg , st, mx ) ; }
virtual StatusCode ErrorTool::Warning | ( | const std::string & | msg, | |
const StatusCode | st = StatusCode::FAILURE , |
|||
const size_t | mx = 10 | |||
) | const [inline, virtual] |
Print the warning message, return status code and perform the statistics of warning messages.
msg | warning message | |
st | statsu code | |
mx | maximal number of printouts |
Implements IErrorTool.
Definition at line 83 of file ErrorTool.h.
00086 { return GaudiTool::Warning( msg , st , mx ) ; }
virtual StatusCode ErrorTool::Print | ( | const std::string & | msg, | |
const StatusCode | st = StatusCode::SUCCESS , |
|||
const MSG::Level | lev = MSG::INFO | |||
) | const [inline, virtual] |
Print the message and return status code.
msg | warning message | |
st | status code | |
lev | print level |
Implements IErrorTool.
Definition at line 98 of file ErrorTool.h.
00101 { return GaudiTool::Print( msg , st , lev ) ; }
virtual StatusCode ErrorTool::Assert | ( | const bool | ok, | |
const std::string & | message = "" , |
|||
const StatusCode | sc = StatusCode::FAILURE | |||
) | const [inline, virtual] |
Assertion - throw exception, if condition is not fulfilled.
CaloException | for invalid condifition |
ok | condition which should be "true" | |
message | message to be associated with the exception | |
sc | status code to be returned (artificial) |
Implements IErrorTool.
Definition at line 113 of file ErrorTool.h.
00116 { return GaudiTool::Assert ( ok , message , sc ) ; }
virtual StatusCode ErrorTool::Exception | ( | const std::string & | msg, | |
const GaudiException & | exc, | |||
const StatusCode | sc = StatusCode::FAILURE | |||
) | const [inline, virtual] |
Create and (re)-throw the exception.
CaudiException | always! |
msg | exception message | |
exc | (previous) exception of type GaudiException | |
sc | status code |
Implements IErrorTool.
Definition at line 127 of file ErrorTool.h.
virtual StatusCode ErrorTool::Exception | ( | const std::string & | msg, | |
const std::exception & | exc, | |||
const StatusCode | sc = StatusCode::FAILURE | |||
) | const [inline, virtual] |
Create and (re)-throw the exception.
GaudiException | always! |
msg | exception message | |
exc | (previous) exception of type std::exception | |
sc | status code |
Implements IErrorTool.
Definition at line 141 of file ErrorTool.h.
virtual StatusCode ErrorTool::Exception | ( | const std::string & | msg = "no message" , |
|
const StatusCode | sc = StatusCode::FAILURE | |||
) | const [inline, virtual] |
Create and throw the exception.
GaudiException | always! |
msg | exception message | |
sc | status code |
Implements IErrorTool.
Definition at line 154 of file ErrorTool.h.
StatusCode GaudiTool::initialize | ( | ) | [virtual, inherited] |
standard initialization method
Reimplemented from GaudiCommon< AlgTool >.
Reimplemented in SequencerTimerTool, GaudiHistoTool, GaudiTupleTool, GaudiHistos< GaudiTool >, and GaudiTuples< GaudiHistoTool >.
Definition at line 148 of file GaudiTool.cpp.
00149 { 00150 // initialize the base class 00151 const StatusCode sc = GaudiCommon<AlgTool>::initialize() ; 00152 if ( sc.isFailure() ) { return sc; } 00153 00154 // increment the counter 00155 GaudiToolLocal::s_FinalizeCounter.increment( m_local ) ; 00156 00157 // return 00158 return sc; 00159 }
StatusCode GaudiTool::finalize | ( | ) | [virtual, inherited] |
standard finalization method
Reimplemented from GaudiCommon< AlgTool >.
Reimplemented in SequencerTimerTool, GaudiHistoTool, GaudiTupleTool, GaudiHistos< GaudiTool >, and GaudiTuples< GaudiHistoTool >.
Definition at line 163 of file GaudiTool.cpp.
00164 { 00165 if ( msgLevel(MSG::DEBUG) ) 00166 debug() << " ==> Finalize the base class GaudiTool " << endreq; 00167 00168 // clear "explicit services" 00169 m_evtSvc = 0 ; 00170 m_detSvc = 0 ; 00171 m_chronoSvc = 0 ; 00172 m_incSvc = 0 ; 00173 m_histoSvc = 0 ; 00174 00175 // finalize the base class 00176 const StatusCode sc = GaudiCommon<AlgTool>::finalize() ; 00177 if ( sc.isFailure() ) { return sc; } 00178 00179 // Decrement the counter 00180 GaudiToolLocal::s_FinalizeCounter.decrement( m_local ) ; 00181 00182 // return 00183 return sc; 00184 }
INTupleSvc * GaudiTool::ntupleSvc | ( | ) | const [inherited] |
Access the standard N-Tuple.
Definition at line 200 of file GaudiTool.cpp.
00201 { 00202 if ( 0 == m_ntupleSvc ) 00203 { 00204 m_ntupleSvc = svc<INTupleSvc>( "NTupleSvc" , true ) ; 00205 } 00206 return m_ntupleSvc ; 00207 }
INTupleSvc * GaudiTool::evtColSvc | ( | ) | const [inherited] |
Access the standard event collection service.
Definition at line 211 of file GaudiTool.cpp.
00212 { 00213 if ( 0 == m_evtColSvc ) 00214 { 00215 m_evtColSvc = svc< INTupleSvc > ( "EvtTupleSvc" , true ) ; 00216 } 00217 return m_evtColSvc ; 00218 }
IDataProviderSvc * GaudiTool::detSvc | ( | ) | const [inherited] |
accessor to detector service
Definition at line 188 of file GaudiTool.cpp.
00189 { 00190 if ( 0 == m_detSvc ) 00191 { 00192 m_detSvc = 00193 svc<IDataProviderSvc>( GaudiToolServices::s_DetectorDataSvc , true ) ; 00194 } 00195 return m_detSvc ; 00196 }
IDataProviderSvc * GaudiTool::evtSvc | ( | ) | const [inherited] |
accessor to event service service
Definition at line 222 of file GaudiTool.cpp.
00223 { 00224 if ( 0 == m_evtSvc ) 00225 { 00226 m_evtSvc = 00227 svc<IDataProviderSvc>( GaudiToolServices::s_EventDataSvc , true ) ; 00228 } 00229 return m_evtSvc ; 00230 }
IIncidentSvc * GaudiTool::incSvc | ( | ) | const [inherited] |
Definition at line 234 of file GaudiTool.cpp.
00235 { 00236 if ( 0 == m_incSvc ) 00237 { 00238 m_incSvc = 00239 svc<IIncidentSvc> ( GaudiToolServices::s_IncidentSvc , true ) ; 00240 } 00241 return m_incSvc ; 00242 }
IChronoStatSvc * GaudiTool::chronoSvc | ( | ) | const [inherited] |
accessor to Chrono & Stat Service
Definition at line 246 of file GaudiTool.cpp.
00247 { 00248 if ( 0 == m_chronoSvc ) 00249 { 00250 m_chronoSvc = 00251 svc<IChronoStatSvc> ( GaudiToolServices::s_ChronoStatSvc , true ) ; 00252 } 00253 return m_chronoSvc ; 00254 }
IHistogramSvc * GaudiTool::histoSvc | ( | ) | const [inherited] |
acessor to the histogram service
Definition at line 258 of file GaudiTool.cpp.
00259 { 00260 if ( 0 == m_histoSvc ) 00261 { 00262 m_histoSvc = svc<IHistogramSvc> ( GaudiToolServices::s_HistoSvc, true ) ; 00263 } 00264 return m_histoSvc; 00265 }
IAlgContextSvc * GaudiTool::contextSvc | ( | ) | const [inherited] |
acessor to the Algorithm Context Service
Definition at line 269 of file GaudiTool.cpp.
00270 { 00271 if ( 0 == m_contextSvc ) 00272 { 00273 m_contextSvc = svc<IAlgContextSvc> ( m_contextSvcName , true ) ; 00274 } 00275 return m_contextSvc; 00276 }
DataObject* GaudiTool::put | ( | IDataProviderSvc * | svc, | |
DataObject * | object, | |||
const std::string & | address, | |||
const bool | useRootInTES = true | |||
) | const [inline, inherited] |
Register a data object or container into Gaudi Event Transient Store.
svc | Pointer to data provider service | |
object | Data object or container to be registered | |
address | Address in Gaudi Event Transient Store ("/Event" could be omitted ) | |
useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
GaudiException | for invalid event data service | |
GaudiException | for invalid object | |
GaudiException | for error result from event data service |
StatusCode::SUCCESS | Data was successfully placed in the TES. | |
StatusCode::FAILURE | Failed to store data in the TES. |
Reimplemented from GaudiCommon< AlgTool >.
Definition at line 196 of file GaudiTool.h.
00200 { 00201 return GaudiCommon<AlgTool>::put ( svc , object , address , useRootInTES ) ; 00202 }
DataObject* GaudiTool::put | ( | DataObject * | object, | |
const std::string & | address, | |||
const bool | useRootInTES = true | |||
) | const [inline, inherited] |
Register a data object or container into Gaudi Event Transient Store.
MCHits * hits = put( new MCHits(), "/Event/MC/Hits" );
object | Data object or container to be registered | |
address | Address in Gaudi Event Transient Store ("/Event" could be omitted ) | |
useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
GaudiException | for invalid event data service | |
GaudiException | for invalid object | |
GaudiException | for error result from event data service |
StatusCode::SUCCESS | Data was successfully placed in the TES. | |
StatusCode::FAILURE | Failed to store data in the TES. |
Definition at line 232 of file GaudiTool.h.
00235 { 00236 return GaudiCommon<AlgTool>::put ( evtSvc() , object , address , useRootInTES ) ; 00237 }
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::get | ( | IDataProviderSvc * | svc, | |
const std::string & | location, | |||
const bool | useRootInTES = true | |||
) | const [inline, inherited] |
Templated access to the data in Gaudi Transient Store.
Quick and safe access to the data in Gaudi transient store. The method located the data at given address and perform the debug printout about located data
MCHits* hits = get<MCHits>( evtSvc() , "/Event/MC/Hits" );
GaudiException | for Invalid Data Provider Service | |
GaudiException | for invalid/unavailable data |
svc | Pointer to data service (data provider) | |
location | data location/address in Gaudi Transient Store | |
useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
Reimplemented from GaudiCommon< AlgTool >.
Definition at line 272 of file GaudiTool.h.
00275 { 00276 return GaudiCommon<AlgTool>::get<TYPE> ( svc , location , useRootInTES ) ; 00277 }
Gaudi::Utils::GetData<TYPE>::return_type GaudiTool::get | ( | const std::string & | location, | |
const bool | useRootInTES = true | |||
) | const [inline, inherited] |
Templated access to the data from Gaudi Event Transient Store.
Quick and safe access to the data in Gaudi transient store.
The method located the data at the given address and perform the debug printout about located data.
MCParticles* mcps = get<MCParticles>( MCParticleLocation::Default );
location | Data location/address in Gaudi Transient Store | |
useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
Definition at line 306 of file GaudiTool.h.
00308 { 00309 return GaudiCommon<AlgTool>::get<TYPE> ( evtSvc() , location , useRootInTES ) ; 00310 }
TYPE* GaudiTool::getDet | ( | IDataProviderSvc * | svc, | |
const std::string & | location | |||
) | const [inline, inherited] |
Templated access to the detector data from the Gaudi Detector Transient Store.
Quick and safe access to the detector data in Gaudi transient store.
The method located the detector at the given address and perform the debug printout about located detector.
MyDet* mdet = getDet<MyDet>( detSvc() , "/dd/Structure/LHCb/MyDet" );
svc | Pointer to data service (data provider) | |
location | Detector location/address in Gaudi Transient Store |
Definition at line 331 of file GaudiTool.h.
00333 { 00334 return GaudiCommon<AlgTool>::get<TYPE> ( svc , location , false ) ; 00335 }
TYPE* GaudiTool::getDet | ( | const std::string & | location | ) | const [inline, inherited] |
Templated access to the detector data from the Gaudi Detector Transient Store.
Quick and safe access to the detector data in Gaudi transient store.
The method located the detector at the given address and perform the debug printout about located detector.
MyDet* mdet = getDet<MyDet>( "/dd/Structure/LHCb/MyDet" );
location | Detector location/address in Gaudi Transient Store |
Definition at line 355 of file GaudiTool.h.
00356 { 00357 return GaudiCommon<AlgTool>::get<TYPE> ( detSvc() , location , false ) ; 00358 }
bool GaudiTool::exist | ( | IDataProviderSvc * | svc, | |
const std::string & | location, | |||
const bool | useRootInTES = true | |||
) | const [inline, inherited] |
Check the existence of a data object or container in the Gaudi Transient Event Store.
bool a1 = exist<DataObject>( evtSvc(), "/Event/MyObject" ) ; bool a2 = exist<MyHits> ( evtSvc(), "/Event/MyHits" ) ;
svc | Pointer to data service (data provider) | |
location | Address in Gaudi Transient Event Store | |
useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
true | Data object or container exists and implements a proper interface | |
true | Failed to locate the data object or container |
Reimplemented from GaudiCommon< AlgTool >.
Definition at line 386 of file GaudiTool.h.
00389 { 00390 return GaudiCommon<AlgTool>::exist<TYPE> ( svc , location , useRootInTES ) ; 00391 }
bool GaudiTool::exist | ( | const std::string & | location, | |
const bool | useRootInTES = true | |||
) | const [inline, inherited] |
Check the existence of a data object or container in the Gaudi Transient Event Store.
bool a1 = exist<DataObject>( "/Event/MyObject" ) ; bool a2 = exist<MyHits> ( "/Event/MyHits" ) ;
location | Address in Gaudi Transient Event Store |
true | Data object or container exists and implements a proper interface | |
true | Failed to locate the data object or container |
Definition at line 416 of file GaudiTool.h.
00418 { 00419 return GaudiCommon<AlgTool>::exist<TYPE> ( evtSvc() , location , useRootInTES ) ; 00420 }
bool GaudiTool::existDet | ( | IDataProviderSvc * | svc, | |
const std::string & | location | |||
) | const [inline, inherited] |
Check the existence of detector objects in the Gaudi Transient Detector Store.
bool a1 = existDet<DataObject> ( detSvc(), "/dd/Structure/MyObject" ) ; bool a2 = existDet<Material> ( detSvc(), "/dd/Structure/Material/Air" ) ;
svc | Pointer to data service (data provider) | |
location | Address in Gaudi Transient Detector Store |
true | Detector object exists and implements a proper interface | |
false | Failed to locate the data object |
Definition at line 439 of file GaudiTool.h.
00441 { 00442 return GaudiCommon<AlgTool>::exist<TYPE> ( svc , location , false ) ; 00443 }
bool GaudiTool::existDet | ( | const std::string & | location | ) | const [inline, inherited] |
Check the existence of detector objects in the Gaudi Transient Detector Store.
bool a1 = existDet<DataObject> ( "/dd/Structure/MyObject" ) ; bool a2 = existDet<Material> ( "/dd/Structure/Material/Air" ) ;
location | Address in Gaudi Transient Detector Store |
true | Detector object exists and implements a proper interface | |
false | Failed to locate the data object |
Definition at line 461 of file GaudiTool.h.
00462 { 00463 return GaudiCommon<AlgTool>::exist<TYPE> ( detSvc() , location , false ) ; 00464 }
TYPE* GaudiTool::getOrCreate | ( | IDataProviderSvc * | svc, | |
const std::string & | location, | |||
const bool | useRootInTES = true | |||
) | const [inline, inherited] |
Get the existing data object from Gaudi Event Transient store.
Alternatively, create new object and register it in TES and return if object does not exist.
MyHits* hits = getOrCreate<MyHits,MyHits>( evtSvc() , "/Event/MyHits" ) ;
GaudiException | for Invalid Data Provider Service | |
GaudiException | for invalid/unavailable data |
svc | Pointer to data service (data provider) | |
location | Location in Gaudi Transient Event Store | |
useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
Reimplemented from GaudiCommon< AlgTool >.
Definition at line 493 of file GaudiTool.h.
00496 { 00497 return GaudiCommon<AlgTool>::getOrCreate<TYPE,TYPE2> ( svc , location , useRootInTES ) ; 00498 }
TYPE* GaudiTool::getOrCreate | ( | const std::string & | location, | |
const bool | useRootInTES = true | |||
) | const [inline, inherited] |
Get the existing data object from Gaudi Event Transient store.
Alternatively, create new object and register it in TES and return if object does not exist.
MyHits* hits = getOrCreate<MyHits,MyHits>( "/Event/MyHits" ) ;
GaudiException | for Invalid Data Provider Service | |
GaudiException | for invalid/unavailable data |
location | Location in Gaudi Transient Event Store | |
useRootInTES | Flag to turn on(TRUE) off(FALSE) the use of the RootInTES location property |
Definition at line 526 of file GaudiTool.h.
00528 { 00529 return GaudiCommon<AlgTool>::getOrCreate<TYPE,TYPE2> ( evtSvc() , location , useRootInTES ) ; 00530 }
TOOL* GaudiCommon< AlgTool >::tool | ( | const std::string & | type, | |
const std::string & | name, | |||
const IInterface * | parent = 0 , |
|||
bool | create = true | |||
) | const [inherited] |
Useful method for the easy location of tools.
IMyTool* myTool = tool<IMyTool>( "MyToolType", "MyToolName", this );
GaudiException | for invalid Tool Service | |
GaudiException | for error from Tool Service | |
GaudiException | for invalid tool |
type | Tool type | |
name | Tool name | |
parent | Tool parent | |
create | Flag for creation of nonexisting tools |
TOOL* GaudiCommon< AlgTool >::tool | ( | const std::string & | type, | |
const IInterface * | parent = 0 , |
|||
bool | create = true | |||
) | const [inherited] |
A useful method for the easy location of tools.
IMyTool* myTool = tool<IMyTool>( "PublicToolType" );
GaudiException | for invalid Tool Service | |
GaudiException | for error from Tool Service | |
GaudiException | for invalid tool |
type | Tool type, could be of "Type/Name" format | |
parent | Tool parent | |
create | Flag for creation of nonexisting tools |
SERVICE* GaudiCommon< AlgTool >::svc | ( | const std::string & | name, | |
const bool | create = true | |||
) | const [inherited] |
A useful method for the easy location of services.
IMyService* mySvc = svc<IMyService>( "MyServiceType" );
GaudiException | for error in Algorithms::service | |
GaudiException | for invalid service |
name | service type name | |
create | Flag for creation of non-existing services |
IUpdateManagerSvc* GaudiCommon< AlgTool >::updMgrSvc | ( | ) | const [inline, inherited] |
Short-cut to locate the Update Manager Service.
IDataProviderSvc* GaudiCommon< AlgTool >::fastContainersSvc | ( | ) | const [inline, inherited] |
Short-cut to locate the Fast Containers Service.
StatusCode GaudiCommon< AlgTool >::Assert | ( | const bool | ok, | |
const char * | message, | |||
const StatusCode | sc = StatusCode(StatusCode::FAILURE, true) | |||
) | const [inline, inherited] |
Assertion - throw exception if the given condition is not fulfilled.
Exception | for invalid condition |
ok | Condition which should be "true" | |
message | Message to be associated with the exception | |
sc | StatusCode to be returned (artificial) |
MsgStream& GaudiCommon< AlgTool >::msgStream | ( | const MSG::Level | level | ) | const [inline, inherited] |
Predefined configurable message stream for the efficient printouts.
if ( a < 0 ) { msgStream( MSG::ERROR ) << "a = " << endreq ; }
MsgStream& GaudiCommon< AlgTool >::always | ( | ) | const [inline, inherited] |
shortcut for the method msgStream ( MSG::ALWAYS )
Definition at line 457 of file GaudiCommon.h.
00457 { return msgStream ( MSG:: ALWAYS ) ; }
MsgStream& GaudiCommon< AlgTool >::fatal | ( | ) | const [inline, inherited] |
shortcut for the method msgStream ( MSG::FATAL )
Definition at line 459 of file GaudiCommon.h.
00459 { return msgStream ( MSG:: FATAL ) ; }
MsgStream& GaudiCommon< AlgTool >::err | ( | ) | const [inline, inherited] |
shortcut for the method msgStream ( MSG::ERROR )
Definition at line 461 of file GaudiCommon.h.
00461 { return msgStream ( MSG:: ERROR ) ; }
MsgStream& GaudiCommon< AlgTool >::error | ( | ) | const [inline, inherited] |
shortcut for the method msgStream ( MSG::ERROR )
Definition at line 463 of file GaudiCommon.h.
00463 { return msgStream ( MSG:: ERROR ) ; }
MsgStream& GaudiCommon< AlgTool >::warning | ( | ) | const [inline, inherited] |
shortcut for the method msgStream ( MSG::WARNING )
Definition at line 465 of file GaudiCommon.h.
00465 { return msgStream ( MSG:: WARNING ) ; }
MsgStream& GaudiCommon< AlgTool >::info | ( | ) | const [inline, inherited] |
shortcut for the method msgStream ( MSG::INFO )
Definition at line 467 of file GaudiCommon.h.
00467 { return msgStream ( MSG:: INFO ) ; }
MsgStream& GaudiCommon< AlgTool >::debug | ( | ) | const [inline, inherited] |
shortcut for the method msgStream ( MSG::DEBUG )
Definition at line 469 of file GaudiCommon.h.
00469 { return msgStream ( MSG:: DEBUG ) ; }
MsgStream& GaudiCommon< AlgTool >::verbose | ( | ) | const [inline, inherited] |
shortcut for the method msgStream ( MSG::VERBOSE )
Definition at line 471 of file GaudiCommon.h.
00471 { return msgStream ( MSG:: VERBOSE ) ; }
MsgStream& GaudiCommon< AlgTool >::msg | ( | ) | const [inline, inherited] |
shortcut for the method msgStream ( MSG::INFO )
Definition at line 473 of file GaudiCommon.h.
00473 { return msgStream ( MSG:: INFO ) ; }
const Statistics& GaudiCommon< AlgTool >::counters | ( | ) | const [inline, inherited] |
StatEntity& GaudiCommon< AlgTool >::counter | ( | const std::string & | tag | ) | const [inline, inherited] |
accessor to certain counter by name
if ( OK ) { ++counter("OK") ; } // additive counter ('Flag') counter("#Tracks") += tracks->size() ; // multiplicative counter ('Weight') counter("ProbTot") *= probability ;
tag | counter name |
Definition at line 495 of file GaudiCommon.h.
00495 { return m_counters[tag] ; }
MSG::Level GaudiCommon< AlgTool >::msgLevel | ( | ) | const [inline, inherited] |
The current message service output level.
Definition at line 500 of file GaudiCommon.h.
00500 { return m_msgLevel ; }
bool GaudiCommon< AlgTool >::msgLevel | ( | const MSG::Level | level | ) | const [inline, inherited] |
Test the output level.
level | The message level to test against |
true | Messages at level "level" will be printed | |
true | Messages at level "level" will NOT be printed |
Definition at line 507 of file GaudiCommon.h.
00507 { return msgLevel() <= level ; }
void GaudiCommon< AlgTool >::resetMsgStream | ( | ) | const [inherited] |
Reset (delete) the current message stream object.
Useful for example to force a new object following a change in the message level settings
bool GaudiCommon< AlgTool >::typePrint | ( | ) | const [inline, inherited] |
Insert the actual C++ type of the algorithm/tool in the messages ?
Definition at line 514 of file GaudiCommon.h.
00514 { return m_typePrint ; }
bool GaudiCommon< AlgTool >::propsPrint | ( | ) | const [inline, inherited] |
Print properties at initalization ?
Definition at line 516 of file GaudiCommon.h.
00516 { return m_propsPrint ; }
bool GaudiCommon< AlgTool >::statPrint | ( | ) | const [inline, inherited] |
Print statistical counters at finalization ?
Definition at line 518 of file GaudiCommon.h.
00518 { return m_statPrint ; }
bool GaudiCommon< AlgTool >::errorsPrint | ( | ) | const [inline, inherited] |
Print error counters at finalization ?
Definition at line 520 of file GaudiCommon.h.
00520 { return m_errorsPrint ; }
long GaudiCommon< AlgTool >::printStat | ( | const MSG::Level | level = MSG::ALWAYS |
) | const [inherited] |
perform the actual printout of statistical counters
level | The message level to print at |
long GaudiCommon< AlgTool >::printErrors | ( | const MSG::Level | level = MSG::ALWAYS |
) | const [inherited] |
perform the actual printout of error counters
level | The message level to print at |
long GaudiCommon< AlgTool >::printProps | ( | const MSG::Level | level = MSG::ALWAYS |
) | const [inherited] |
perform the actual printout of properties
level | The message level to print at |
void GaudiCommon< AlgTool >::registerCondition | ( | const std::string & | condition, | |
StatusCode(CallerClass::*)() | mf = NULL | |||
) | [inline, inherited] |
register the current instance to the UpdateManagerSvc as a consumer for a condition.
condition | the path inside the Transient Detector Store to the condition object. | |
mf | optional pointer to the member function to call when the condition object is updated. If the pointer is omitted the user must explicitely provide the class name to the method. StatusCode MyAlg::initialize(){ // ... registerCondition("/dd/Conditions/Readout/MyDet/MyCond",&MyAlg::i_CallBack); registerCondition<MyAlg>("/dd/Conditions/Readout/MyDet/MyOtherCond"); // ... return StatusCode.SUCCESS; } |
Definition at line 560 of file GaudiCommon.h.
00560 { 00561 updMgrSvc()->registerCondition(dynamic_cast<CallerClass*>(this),condition,mf); 00562 }
void GaudiCommon< AlgTool >::registerCondition | ( | const std::string & | condition, | |
CondType *& | condPtrDest, | |||
StatusCode(CallerClass::*)() | mf = NULL | |||
) | [inline, inherited] |
register the current instance to the UpdateManagerSvc as a consumer for a condition.
This version of the method allow the user to specify where to put a copy of the pointer to the condition object.
condition | the path inside the Transient Detector Store to the condition object. | |
condPtrDest | pointer to fill with the location of the condition object. Note: the pointer can be safely used only in the execute method or in the member function triggered by the update. | |
mf | optional pointer to the member function to call when the condition object is updated. If the pointer is omitted the user must explicitely provide the class name to the method. class MyAlg: public GaudiAlgorithm { // ... public: virtual StatusCode i_CallBack(); private: Condition *m_MyCond; SpecialCondition *m_MyOtherCond; // ... }; StatusCode MyAlg::initialize(){ // ... registerCondition("/dd/Conditions/Readout/MyDet/MyCond",m_MyCond,&MyAlg::i_CallBack); registerCondition<MyAlg>("/dd/Conditions/Readout/MyDet/MyOtherCond",m_MyOtherCond); // ... return StatusCode.SUCCESS; } |
Definition at line 594 of file GaudiCommon.h.
00595 { 00596 updMgrSvc()->registerCondition(dynamic_cast<CallerClass*>(this),condition,mf,condPtrDest); 00597 }
void GaudiCommon< AlgTool >::registerCondition | ( | char * | condition, | |
StatusCode(CallerClass::*)() | mf = NULL | |||
) | [inline, inherited] |
just to avoid conflicts with the version using a pointer to a template class.
Definition at line 600 of file GaudiCommon.h.
00600 { 00601 updMgrSvc()->registerCondition(dynamic_cast<CallerClass*>(this),std::string(condition),mf); 00602 }
void GaudiCommon< AlgTool >::registerCondition | ( | TargetClass * | condition, | |
StatusCode(CallerClass::*)() | mf = NULL | |||
) | [inline, inherited] |
register the current instance to the UpdateManagerSvc as a consumer for a condition.
condition | the path inside the Transient Detector Store to the condition object. | |
mf | optional pointer to the member function to call when the condition object is updated. If the pointer is omitted the user must explicitely provide the class name to the method. StatusCode MyAlg::initialize(){ // ... registerCondition("/dd/Conditions/Readout/MyDet/MyCond",&MyAlg::i_CallBack); registerCondition<MyAlg>("/dd/Conditions/Readout/MyDet/MyOtherCond"); // ... return StatusCode.SUCCESS; } |
Definition at line 619 of file GaudiCommon.h.
00619 { 00620 updMgrSvc()->registerCondition(dynamic_cast<CallerClass*>(this),condition,mf); 00621 }
StatusCode GaudiCommon< AlgTool >::runUpdate | ( | ) | [inline, inherited] |
asks the UpdateManagerSvc to perform an update of the instance (if needed) without waiting the next BeginEvent incident.
It is useful if the instance can be instantiated after a BeginEvent incident, and used before the next one (for example with tools).
StatusCode MyTool::initialize(){ // ... return runUpdate(); }
Definition at line 633 of file GaudiCommon.h.
TransientFastContainer<T>* GaudiCommon< AlgTool >::getFastContainer | ( | const std::string & | location, | |
typename TransientFastContainer< T >::size_type | initial = 0 | |||
) | [inherited] |
Return a new TransientFastContainer for objects of type T.
The container is created if it is not in the transient store. If a container with the same name but a different type
StatusCode GaudiCommon< AlgTool >::releaseTool | ( | const IAlgTool * | tool | ) | const [protected, inherited] |
manual forced (and 'safe') release of the tool
StatusCode GaudiCommon< AlgTool >::releaseSvc | ( | const IInterface * | svc | ) | const [protected, inherited] |
manual forced (and 'safe') release of the service
StatusCode GaudiCommon< AlgTool >::release | ( | const IInterface * | interface | ) | const [inherited] |
Manual forced (and 'safe') release of the active tool or service.
IMyTool* mytool = tool<IMyTool>( .... ) ; mytool->spendCPUtime() ; release ( mytool ) ; IMySvc* msvc = svc<IMySvc>( .... ) ; msvc->spendCPUtime() ; release ( msvc ) ;
interface | Interface pointer to the interface to be released |
StatusCode::SUCCESS | Tool or service was successfully released | |
StatusCode::FAILURE | Error releasing too or service |
const std::string& GaudiCommon< AlgTool >::context | ( | ) | const [inline, inherited] |
Returns the "context" string. Used to indentify different processing states.
Definition at line 696 of file GaudiCommon.h.
00696 { return m_context; }
const std::string& GaudiCommon< AlgTool >::rootInTES | ( | ) | const [inline, inherited] |
Returns the "rootInTES" string.
Used as the directory root in the TES for which all data access refers to (both saving and retrieving).
Definition at line 700 of file GaudiCommon.h.
00700 { return m_rootInTES; }
double GaudiCommon< AlgTool >::globalTimeOffset | ( | ) | const [inline, inherited] |
Returns the "globalTimeOffset" double.
Definition at line 702 of file GaudiCommon.h.
00702 { return m_globalTimeOffset; }
const InterfaceID & IErrorTool::interfaceID | ( | ) | [static, inherited] |
Return the unique interface ID.
Reimplemented from IAlgTool.
Definition at line 31 of file IErrorTool.cpp.
00031 { return IID_IErrorTool ; }
const bool GaudiCommon< AlgTool >::IgnoreRootInTES [static, protected, inherited] |
Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods.
If used with cause the RootInTES option to be IGNORED.
Useful to aid with code readablity. e.g.
// Get data, ignoring the setting of rootInTES() MyData * data = get<MyData>( "/Event/MyData", IgnoreRootInTES );
Definition at line 68 of file GaudiCommon.h.
const bool GaudiCommon< AlgTool >::UseRootInTES [static, protected, inherited] |
Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods.
If used with cause the RootInTES option to be USED
Useful to aid with code readablity. e.g.
// Get data, using the setting of rootInTES() MyData * data = get<MyData>( "/Event/MyData", UseRootInTES ); // note the default setting is true, so this is equivalent to MyData * data = get<MyData>( "/Event/MyData" );
Definition at line 80 of file GaudiCommon.h.