| The Gaudi Framework v30r0 (c919700c)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

Namespaces | Classes | Functions
Gaudi Namespace Reference

Helper functions to set/get the application return code. More...

## Namespaces
| CommonGaudiConfigurables
| Concurrency
| Configuration
| CounterSummary
| detail2
| Details
| details
| Functional
| Guards
| Guards.h GaudiKernel/Guards.h Collection of very simple classes which allows to execution of some functions within the given well-defined and exception-safe context.
| Histos
| collection of simple utilities to deal with histograms
| Hive
| iid_cast_details
| Main
| meta
| Parsers
| PluginService
| ReturnCode
| ApplicationMgr return code definitions.
| StateMachine
| tagged_bool_ns
| Units
| Utils

## Classes
class | _ConfigurablesModule
class | Axis
| An IAxis represents a binned histogram axis. More...
class | BootSvcLocator
| A dual-stage boostrap mechanism is used to ensure an orderly startup of the ApplicationMgr. More...
class | DataHandle
struct | fullMatch_t
class | Generic1D
| Common AIDA implementation stuff for histograms and profiles using ROOT implementations. More...
class | Generic2D
| Common AIDA implementation stuff for histograms and profiles using ROOT implementations. More...
class | Generic3D
| Common AIDA implementation stuff for histograms and profiles using ROOT implementations. More...
class | Histo1DDef
| Simple helper class for description of 1D-histogram The class is targeted to act as the primary "histogram property", but clearly have significantly wider application range. More...
class | Histogram1D
| AIDA implementation for 1 D histograms using ROOT THD1. More...
class | Histogram2D
| AIDA implementation for 2 D histograms using ROOT THD2. More...
class | Histogram3D
| AIDA implementation for 3 D histograms using ROOT THD2. More...
class | HistogramBase
| Common base class for all histograms Use is solely functional to minimize dynamic_casts inside HistogramSvc. More...
class | IDataConnection
| ABC describing basic data connection. More...
class | IFileCatalog
| File catalog interface. More...
class | IFileCatalogMgr
| File catalog manager. More...
class | IIODataManager
struct | interface_list
struct | interface_list_append
struct | interface_list_append< interface_list< Is... >, I >
struct | interface_list_cat
struct | interface_list_cat< interface_list< I... > >
struct | interface_list_cat< interface_list< I1... >, interface_list< I2... > >
struct | interface_list_cat< interface_list< I1... >, interface_list< I2... >, Others... >
struct | InterfaceId
| Class to handle automatically the versioning of the interfaces when they are inheriting from other interfaces. More...
class | IODataManager
class | ISignalMonitor
| Interface for the service that monitors the occurrences of system signals. More...
struct | majorMatch_t
class | MetaDataSvc
class | MultiFileCatalog
| This class constitutes the core of the XML based FileCatalog API for using POOL within Gaudi. More...
class | NamedRange_
class | ParticlePropertySvc
| This service provides access to particle properties. More...
class | PoolTool
class | Profile1D
| AIDA implementation for 1 D profiles using ROOT TProfile. More...
class | Profile2D
| AIDA implementation for 2 D profiles using ROOT TProfile2D. More...
class | Property
| Implementation of property with value of concrete type. More...
class | Property< DataObjectHandleBase & >
class | Property< DataObjID & >
class | Property< DataObjIDColl & >
class | Property< DataObjIDColl >
class | Property< TYPE(&)[N], VERIFIER, HANDLERS >
class | Property< TYPE[N], VERIFIER, HANDLERS >
class | Range_
| Useful class for representation of "sequence" of the objects through the range of valid iterators. More...
struct | RangeBase_
| helper class to simplify the dealing with ranges in Python More...
class | RootAddress
| Description: More...
class | RootCnvSvc
| Description: More...
class | RootConnectionSetup
class | RootConverter
| Description: Definition of the ROOT data converter. More...
class | RootDatabaseCnv
| Statistics file converter class definition. More...
class | RootDataConnection
| Concrete implementation of the IDataConnection interface to access ROOT files. More...
class | RootDirectoryCnv
| Description: NTuple directory converter class definition Definition of the converter to manage the directories in an database representing N-Tuples. More...
class | RootEvtSelector
| Concrete event selector implementation to access ROOT files. More...
class | RootEvtSelectorContext
| ROOT specific event selector context. More...
class | RootNTupleCnv
| NTuple converter class definition for NTuples writted/read using ROOT. More...
class | RootNTupleDescriptor
| Description: More...
struct | RootObjectRefs
| Persistent reference object containing all leafs and links corresponding to a Gaudi DataObject. More...
class | RootPerfMonSvc
| Description: More...
struct | RootRef
| Persistent reference object. More...
class | RootStatCnv
| Description: Base class converter for N-tuples and related classes. More...
class | RootTool
| Description: More...
class | SerialTaskQueue
| Class for a generic serial queue of tasks (modeled on the Intel Threading Building Blocks Design Pattern "Local Serializer"). More...
class | StringKey
| The helper class to represent the efficient "key" for access. More...
class | SysProcStat
class | Time
| Based on seal::Time. More...
class | TimeSpan
| Based on seal::TimeSpan. More...
class | XMLFileCatalog
| This class constitutes the core of the XML based FileCatalog API for POOL. More...

## Functions
template<class Q , class T >
T * | getRepresentation (const Q &hist)
std::pair< DataObject *, AIDA::IHistogram1D * > | createH1D (const AIDA::IHistogram1D &hist)
| Copy constructor. More...
std::pair< DataObject *, AIDA::IHistogram1D * > | createH1D (const std::string &title, int nBins=10, double lowerEdge=0., double upperEdge=1.)
| Creator for 1D histogram with fixed bins. More...
std::pair< DataObject *, AIDA::IHistogram1D * > | createH1D (const std::string &title, const Edges &e)
| Creator for 1D histogram with variable bins. More...
std::pair< DataObject *, AIDA::IHistogram2D * > | createH2D (const AIDA::IHistogram2D &hist)
| Copy constructor. More...
std::pair< DataObject *, AIDA::IHistogram2D * > | createH2D (TH2D *rep)
| "Adopt" constructor More...
std::pair< DataObject *, AIDA::IHistogram2D * > | createH2D (const std::string &title, int binsX, double iminX, double imaxX, int binsY, double iminY, double imaxY)
| Creator for 2 D histograms with fixed bins. More...
std::pair< DataObject *, AIDA::IHistogram2D * > | createH2D (const std::string &title, const Edges &eX, const Edges &eY)
| Creator for 2 D histograms with variable bins. More...
std::pair< DataObject *, AIDA::IHistogram1D * > | slice1DX (const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
| Create 1D slice from 2D histogram. More...
std::pair< DataObject *, AIDA::IProfile1D * > | profile1DX (const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
| Create 1D profile in X from 2D histogram. More...
std::pair< DataObject *, AIDA::IHistogram1D * > | project1DX (const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
| Create 1D projection in X from 2D histogram. More...
std::pair< DataObject *, AIDA::IHistogram1D * > | slice1DY (const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
| Create 1D slice from 2D histogram. More...
std::pair< DataObject *, AIDA::IProfile1D * > | profile1DY (const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
| Create 1D profile in Y from 2D histogram. More...
std::pair< DataObject *, AIDA::IHistogram1D * > | project1DY (const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
| Create 1D projection in Y from 2D histogram. More...
std::pair< DataObject *, AIDA::IHistogram3D * > | createH3D (const AIDA::IHistogram3D &hist)
| Copy constructor. More...
std::pair< DataObject *, AIDA::IHistogram3D * > | createH3D (const std::string &title, int nBinsX, double xlow, double xup, int nBinsY, double ylow, double yup, int nBinsZ, double zlow, double zup)
| Create 3D histogram with fixed bins. More...
std::pair< DataObject *, AIDA::IHistogram3D * > | createH3D (const std::string &title, const Edges &eX, const Edges &eY, const Edges &eZ)
| Create 3D histogram with variable bins. More...
std::pair< DataObject *, AIDA::IProfile1D * > | createProf1D (const AIDA::IProfile1D &hist)
| Copy constructor. More...
std::pair< DataObject *, AIDA::IProfile1D * > | createProf1D (const std::string &title, int nBins, double xlow, double xup, double ylow, double yup, const std::string &opt="")
| Creator of 1D profile with fixed bins. More...
std::pair< DataObject *, AIDA::IProfile1D * > | createProf1D (const std::string &title, const Edges &e, double ylow, double yup, const std::string &opt="")
| Creator of 1D profile with variable bins. More...
std::pair< DataObject *, AIDA::IProfile2D * > | createProf2D (const AIDA::IProfile2D &hist)
| Copy constructor. More...
std::pair< DataObject *, AIDA::IProfile2D * > | createProf2D (const std::string &title, int binsX, double iminX, double imaxX, int binsY, double iminY, double imaxY, double lowerValue, double upperValue)
| Creator for 2 D profile with fixed bins. More...
std::pair< DataObject *, AIDA::IProfile2D * > | createProf2D (const std::string &title, const Edges &eX, const Edges &eY, double lowerValue, double upperValue)
| Creator for 2 D profile with variable bins. More...
StatusCode | setAppReturnCode (SmartIF< IProperty > &appmgr, int value, bool force=false)
| Set the application return code. More...
int | getAppReturnCode (const SmartIF< IProperty > &appmgr)
| Get the application (current) return code. More...
GAUDI_API IAppMgrUI * | createApplicationMgrEx (const std::string &dllname, const std::string &factname)
GAUDI_API IAppMgrUI * | createApplicationMgr (const std::string &dllname, const std::string &factname)
GAUDI_API IAppMgrUI * | createApplicationMgr (const std::string &dllname)
GAUDI_API IAppMgrUI * | createApplicationMgr ()
GAUDI_API IInterface * | createInstance (const std::string &name, const std::string &factname, const std::string &ddlname)
GAUDI_API ISvcLocator * | svcLocator ()
GAUDI_API ISvcLocator * | setInstance (ISvcLocator *newInstance)
| Set new instance of service locator. More...
GAUDI_API IAppMgrUI * | setInstance (IAppMgrUI *newInstance)
| Set new instance of service locator. More...
GAUDI_API void | pushCurrentDataObject (DataObject **pobjAddr)
GAUDI_API void | popCurrentDataObject ()
GAUDI_API DataObject * | getCurrentDataObject ()
template<typename... Is>
std::vector< std::string > | getInterfaceNames (Gaudi::interface_list< Is... >)
template<typename... Is, typename P >
void * | iid_cast (const InterfaceID &tid, Gaudi::interface_list< Is... >, P *ptr)
template<typename TARGET >
TARGET * | Cast (IInterface *i)
| Cast a IInterface pointer to an IInterface specialization (TARGET). More...
template<typename TARGET >
const TARGET * | Cast (const IInterface *i)
| Cast a IInterface pointer to an IInterface specialization (TARGET). More...
template<class F , class... ArgTypes>
auto | invoke (F &&f, ArgTypes &&...args) noexcept(noexcept(detail2::INVOKE(std::forward< F >(f), std::forward< ArgTypes >(args)...))) -> decltype(detail2::INVOKE(std::forward< F >(f), std::forward< ArgTypes >(args)...))
template<class CONTAINER >
NamedRange_< CONTAINER > | range (const CONTAINER &cnt, std::string name)
| simple function to create the named range from arbitrary container More...
template<class T , class TP , class V , class H >
bool | operator== (const T &v, const Property< TP, V, H > &p)
| delegate (value == property) to property operator== More...
template<class T , class TP , class V , class H >
bool | operator!= (const T &v, const Property< TP, V, H > &p)
| delegate (value != property) to property operator!= More...
template<class T , class TP , class V , class H >
decltype(std::declval< TP >()+std::declval< T >()) | operator+ (const T &v, const Property< TP, V, H > &p)
| implemantation of (value + property) More...
template<class CONTAINER >
Range_< CONTAINER > | range (const CONTAINER &cnt)
| simple function to create the range from the arbitrary container More...
GAUDI_API void | Sleep (int sec)
| Simple sleep function. More...
GAUDI_API void | NanoSleep (long long nsec)
| Small variation on the sleep function for nanoseconds sleep. More...
template<unsigned int N>
bool | operator== (const Gaudi::StringKey &key1, const char(&key2)[N])
| equality operator with C-arrays More...
template<unsigned int N>
bool | operator!= (const Gaudi::StringKey &key1, const char(&key2)[N])
| non-equality operator with C-arrays More...
bool | operator== (const std::string &key1, const Gaudi::StringKey &key2)
| "right" form of equality operator More...
template<unsigned int N>
bool | operator== (const char(&key1)[N], const Gaudi::StringKey &key2)
| "right" form of equality operator More...
bool | operator!= (const std::string &key1, const Gaudi::StringKey &key2)
| "right" form of non-equality operator More...
template<unsigned int N>
bool | operator!= (const char(&key1)[N], const Gaudi::StringKey &key2)
| "right" form of non-equality operator More...
std::size_t | hash_value (const Gaudi::StringKey &key)
| hash-function: heeded for boost::hash More...
std::ostream & | operator<< (std::ostream &o, const Gaudi::StringKey &key)
| printout of the object reply on the native printout for the string More...
std::ostream & | operator<< (std::ostream &out, const Gaudi::Time &time)
| Output operator. More...
std::ostream & | operator<< (std::ostream &out, const Gaudi::TimeSpan &time)
| Output operator. More...
bool | operator< (const Gaudi::Histo1DDef &left, const Gaudi::Histo1DDef &right)
bool | operator== (const Gaudi::Histo1DDef &left, const Gaudi::Histo1DDef &right)
bool | operator!= (const Gaudi::Histo1DDef &left, const Gaudi::Histo1DDef &right)
std::ostream & | operator<< (std::ostream &o, const Gaudi::Histo1DDef &histo)
std::string | createGuidAsString ()
| Helper function creating file identifier using the UUID mechanism. More...

## Detailed Description

Helper functions to set/get the application return code.

Create a hash with a large avalanche effect from 32 or 64 bit integers or a string.

rebuild "the linear container" from the map

General Gaudi namepace.

< AIDA

General Gaudi namespace.

Author
  Marco Clemencic
  Juan PALACIOS

Date
  2005-11-21

Author
  Juan PALACIOS

Date
  2005-11-23

note: the constants below are not arbitrary, but are picked carefully such that the bit shuffling has a large 'avalanche' effect... Code by Brett Mulvey (old link: http://bretm.home.comcast.net/~bretm/hash/)

note: as a result, you might call this a quasi-random (not to be confused with psuedo-random!) number generator, in that it generates an output which satisfies a requirement on the uniformity of its output distribution. (and not on the predictability of the next number in the sequence, based on knowledge of the preceding numbers)

note: another way to look at this is is as an (approximation of an) evaporating black hole: whatever you dump in to it, you get something uniformly distributed back ;-)

## Function Documentation

template<typename TARGET >

TARGET* Gaudi::Cast | ( | IInterface * | i | ) |

Cast a IInterface pointer to an IInterface specialization (TARGET).

Definition at line 350 of file IInterface.h.

351 {
352 return reinterpret_cast<TARGET*>( i->i_cast( TARGET::interfaceID() ) );
353 }
IInterface::i_cast
virtual void * i_cast(const InterfaceID &) const =0
main cast function
template<typename TARGET >

const TARGET* Gaudi::Cast | ( | const IInterface * | i | ) |

Cast a IInterface pointer to an IInterface specialization (TARGET).

const version

Definition at line 357 of file IInterface.h.

358 {
359 return reinterpret_cast<const TARGET*>( i->i_cast( TARGET::interfaceID() ) );
360 }
IInterface::i_cast
virtual void * i_cast(const InterfaceID &) const =0
main cast function

GAUDI_API IAppMgrUI* Gaudi::createApplicationMgr | ( | const std::string & | dllname,
|  | const std::string & | factname
| ) |  |

GAUDI_API IAppMgrUI* Gaudi::createApplicationMgr | ( | const std::string & | dllname | ) |

GAUDI_API IAppMgrUI* Gaudi::createApplicationMgr | ( |  | ) |

Definition at line 240 of file Bootstrap.cpp.

240 { return Gaudi::createApplicationMgr(); }
Gaudi::createApplicationMgr
GAUDI_API IAppMgrUI * createApplicationMgr(const std::string &dllname, const std::string &factname)

GAUDI_API IAppMgrUI* Gaudi::createApplicationMgrEx | ( | const std::string & | dllname,
|  | const std::string & | factname
| ) |  |

std::string Gaudi::createGuidAsString | ( |  | ) |

Helper function creating file identifier using the UUID mechanism.

Create file identifier using UUID mechanism.

std::pair<DataObject*, AIDA::IHistogram1D*> Gaudi::createH1D | ( | const AIDA::IHistogram1D & | hist | ) |

Copy constructor.

std::pair<DataObject*, AIDA::IHistogram1D*> Gaudi::createH1D | ( | const std::string & | title,
|  | int | nBins = `10`,
|  | double | lowerEdge = `0.`,
|  | double | upperEdge = `1.`
| ) |  |

Creator for 1D histogram with fixed bins.

std::pair<DataObject*, AIDA::IHistogram1D*> Gaudi::createH1D | ( | const std::string & | title,
|  | const Edges & | e
| ) |  |

Creator for 1D histogram with variable bins.

std::pair<DataObject*, AIDA::IHistogram2D*> Gaudi::createH2D | ( | const AIDA::IHistogram2D & | hist | ) |

Copy constructor.

std::pair<DataObject*, AIDA::IHistogram2D*> Gaudi::createH2D | ( | TH2D * | rep | ) |

"Adopt" constructor

std::pair<DataObject*, AIDA::IHistogram2D*> Gaudi::createH2D | ( | const std::string & | title,
|  | int | binsX,
|  | double | iminX,
|  | double | imaxX,
|  | int | binsY,
|  | double | iminY,
|  | double | imaxY
| ) |  |

Creator for 2 D histograms with fixed bins.

std::pair<DataObject*, AIDA::IHistogram2D*> Gaudi::createH2D | ( | const std::string & | title,
|  | const Edges & | eX,
|  | const Edges & | eY
| ) |  |

Creator for 2 D histograms with variable bins.

std::pair<DataObject*, AIDA::IHistogram3D*> Gaudi::createH3D | ( | const AIDA::IHistogram3D & | hist | ) |

Copy constructor.

std::pair<DataObject*, AIDA::IHistogram3D*> Gaudi::createH3D | ( | const std::string & | title,
|  | int | nBinsX,
|  | double | xlow,
|  | double | xup,
|  | int | nBinsY,
|  | double | ylow,
|  | double | yup,
|  | int | nBinsZ,
|  | double | zlow,
|  | double | zup
| ) |  |

Create 3D histogram with fixed bins.

std::pair<DataObject*, AIDA::IHistogram3D*> Gaudi::createH3D | ( | const std::string & | title,
|  | const Edges & | eX,
|  | const Edges & | eY,
|  | const Edges & | eZ
| ) |  |

Create 3D histogram with variable bins.

GAUDI_API IInterface* Gaudi::createInstance | ( | const std::string & | name,
|  | const std::string & | factname,
|  | const std::string & | ddlname
| ) |  |

std::pair<DataObject*, AIDA::IProfile1D*> Gaudi::createProf1D | ( | const AIDA::IProfile1D & | hist | ) |

Copy constructor.

std::pair<DataObject*, AIDA::IProfile1D*> Gaudi::createProf1D | ( | const std::string & | title,
|  | int | nBins,
|  | double | xlow,
|  | double | xup,
|  | double | ylow,
|  | double | yup,
|  | const std::string & | opt = `""`
| ) |  |

Creator of 1D profile with fixed bins.

std::pair<DataObject*, AIDA::IProfile1D*> Gaudi::createProf1D | ( | const std::string & | title,
|  | const Edges & | e,
|  | double | ylow,
|  | double | yup,
|  | const std::string & | opt = `""`
| ) |  |

Creator of 1D profile with variable bins.

std::pair<DataObject*, AIDA::IProfile2D*> Gaudi::createProf2D | ( | const AIDA::IProfile2D & | hist | ) |

Copy constructor.

std::pair<DataObject*, AIDA::IProfile2D*> Gaudi::createProf2D | ( | const std::string & | title,
|  | int | binsX,
|  | double | iminX,
|  | double | imaxX,
|  | int | binsY,
|  | double | iminY,
|  | double | imaxY,
|  | double | lowerValue,
|  | double | upperValue
| ) |  |

Creator for 2 D profile with fixed bins.

std::pair<DataObject*, AIDA::IProfile2D*> Gaudi::createProf2D | ( | const std::string & | title,
|  | const Edges & | eX,
|  | const Edges & | eY,
|  | double | lowerValue,
|  | double | upperValue
| ) |  |

Creator for 2 D profile with variable bins.

int Gaudi::getAppReturnCode | ( | const SmartIF< IProperty > & | appmgr | ) |
| inline

Get the application (current) return code.

Returns
  the return code or 0 if it was not possible to get it

Definition at line 72 of file AppReturnCode.h.

73 {
74 if ( appmgr ) {
75 Gaudi::Property<int> returnCode( "ReturnCode", 0 );
76 if ( appmgr->getProperty( &returnCode ).isSuccess() ) return returnCode.value();
77 }
78 return 0;
79 }
Gaudi::Property
Implementation of property with value of concrete type.
Definition: Property.h:319
StatusCode::isSuccess
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:50
IProperty::getProperty
virtual StatusCode getProperty(Gaudi::Details::PropertyBase *p) const =0
Get the property by property.

GAUDI_API DataObject* Gaudi::getCurrentDataObject | ( |  | ) |

template<typename... Is>

std::vector<std::string> Gaudi::getInterfaceNames | ( | Gaudi::interface_list< Is... > |  | ) |

Definition at line 206 of file IInterface.h.

207 {
208 return {Is::name()...};
209 }
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:32
template<class Q , class T >

T* Gaudi::getRepresentation | ( | const Q & | hist | ) |

Definition at line 9 of file HistogramUtility.h.

10 {
11 auto p = dynamic_cast<const HistogramBase*>( &hist );
12 return p ? dynamic_cast<T*>( p->representation() ) : nullptr;
13 }

std::size_t Gaudi::hash_value | ( | const Gaudi::StringKey & | key | ) |
| inline

hash-function: heeded for boost::hash

Attention
  NEVER use the actual hash value for anything stored in files, as it is not guaranteed that the hashing scheme will remain the same. The only reason for this function is Python and transparent usage of this object for hashmap-like containers

See also
  Gaudi::Hash

Returns
  the actual hash value

Author
  Vanya BELYAEV Iavn..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2009-10-07

Definition at line 207 of file StringKey.h.

207 { return key.__hash__(); }
Gaudi::StringKey::__hash__
std::size_t __hash__() const
the actual access to the hash
Definition: StringKey.h:116
template<typename... Is, typename P >

void* Gaudi::iid_cast | ( | const InterfaceID & | tid,
|  | Gaudi::interface_list< Is... > | ,
|  | P * | ptr
| ) |  |
| inline

Definition at line 212 of file IInterface.h.

213 {
214 constexpr auto iid_cast_ = iid_cast_details::iid_cast_t<Is...>{};
215 return iid_cast_( tid, ptr );
216 }
template<class F , class... ArgTypes>

auto Gaudi::invoke | ( | F && | f,
|  | ArgTypes &&... | args
| ) |  | -> decltype( detail2::INVOKE( std::forward<F>( f ), std::forward<ArgTypes>( args )... ) )
| noexcept

Definition at line 85 of file invoke.h.

89 {
90 return detail2::INVOKE( std::forward<F>( f ), std::forward<ArgTypes>( args )... );
91 }
gaudirun.args
args
Definition: gaudirun.py:244
Gaudi::detail2::INVOKE
auto INVOKE(F &&f, Args &&...args) noexcept(noexcept(std::forward< F >(f)(std::forward< Args >(args)...))) -> std::enable_if_t<!std::is_member_pointer< std::decay_t< F >>::value, decltype(std::forward< F >(f)(std::forward< Args >(args)...))>
Definition: invoke.h:76

GAUDI_API void Gaudi::NanoSleep | ( | long long | nsec | ) |

Small variation on the sleep function for nanoseconds sleep.

Author
  Marco Clemencic

Definition at line 10 of file Sleep.cpp.

10 { std::this_thread::sleep_for( std::chrono::nanoseconds( nsec ) ); }
std::chrono::nanoseconds
std::this_thread::sleep_for
T sleep_for(T...args)

bool Gaudi::operator!= | ( | const Gaudi::Histo1DDef & | left,
|  | const Gaudi::Histo1DDef & | right
| ) |  |

Definition at line 80 of file HistoDef.cpp.

80 { return !( left == right ); }
template<unsigned int N>

bool Gaudi::operator!= | ( | const Gaudi::StringKey & | key1,
|  | const char(&) | key2[N]
| ) |  |
| inline

non-equality operator with C-arrays

Author
  Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2009-10-07

Definition at line 160 of file StringKey.h.

161 {
162 return !( key1 == key2 );
163 }

bool Gaudi::operator!= | ( | const std::string & | key1,
|  | const Gaudi::StringKey & | key2
| ) |  |
| inline

"right" form of non-equality operator

Author
  Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2009-10-07

Definition at line 185 of file StringKey.h.

185 { return key2 != key1; }
template<unsigned int N>

bool Gaudi::operator!= | ( | const char(&) | key1[N],
|  | const Gaudi::StringKey & | key2
| ) |  |
| inline

"right" form of non-equality operator

Author
  Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2009-10-07

Definition at line 192 of file StringKey.h.

193 {
194 return key2 != key1;
195 }
template<class T , class TP , class V , class H >

bool Gaudi::operator!= | ( | const T & | v,
|  | const Property< TP, V, H > & | p
| ) |  |

delegate (value != property) to property operator!=

Definition at line 679 of file Property.h.

680 {
681 return p != v;
682 }
template<class T , class TP , class V , class H >

decltype( std::declval<TP>() + std::declval<T>() ) Gaudi::operator+ | ( | const T & | v,
|  | const Property< TP, V, H > & | p
| ) |  |

implemantation of (value + property)

Definition at line 686 of file Property.h.

687 {
688 return v + p.value();
689 }

bool Gaudi::operator< | ( | const Gaudi::Histo1DDef & | left,
|  | const Gaudi::Histo1DDef & | right
| ) |  |

Definition at line 55 of file HistoDef.cpp.

56 {
57 return std::tie( left.m_title, left.m_low, left.m_high, left.m_bins ) <
58 std::tie( right.m_title, right.m_low, right.m_high, right.m_bins );
59 }
std::tie
T tie(T...args)
Gaudi::Histo1DDef::m_high
double m_high
High Edge.
Definition: HistoDef.h:104
Gaudi::Histo1DDef::m_title
std::string m_title
Histogram title.
Definition: HistoDef.h:100
Gaudi::Histo1DDef::m_bins
int m_bins
Number of bins.
Definition: HistoDef.h:106
Gaudi::Histo1DDef::m_low
double m_low
Low Edge.
Definition: HistoDef.h:102

std::ostream& Gaudi::operator<< | ( | std::ostream & | o,
|  | const Gaudi::Histo1DDef & | histo
| ) |  |

Definition at line 84 of file HistoDef.cpp.

84 { return histo.fillStream( o ); }
Gaudi::Histo1DDef::fillStream
std::ostream & fillStream(std::ostream &o) const
printout of the histogram definition
Definition: HistoDef.cpp:46

std::ostream& Gaudi::operator<< | ( | std::ostream & | out,
|  | const Gaudi::Time & | time
| ) |  |
| inline

Output operator.

Definition at line 167 of file Time.icpp.

168 {
169 return out << Gaudi::TimeSpan( time ).seconds() << '.' << time.nanoformat();
170 }
Gaudi::Time::nanoformat
std::string nanoformat(size_t minwidth=1, size_t maxwidth=9) const
Format the nanosecond fractional part of the time as a string.
Definition: Time.cpp:303
Gaudi::TimeSpan::seconds
ValueType seconds() const
Get the number of complete seconds in the span.
Definition: Time.icpp:110
Gaudi::TimeSpan
Based on seal::TimeSpan.
Definition: Time.h:55

std::ostream& Gaudi::operator<< | ( | std::ostream & | out,
|  | const Gaudi::TimeSpan & | time
| ) |  |
| inline

Output operator.

Definition at line 173 of file Time.icpp.

174 {
175 return out << time.seconds() << '.' << Gaudi::Time( time ).nanoformat();
176 }
Gaudi::Time
Based on seal::Time.
Definition: Time.h:237
Gaudi::Time::nanoformat
std::string nanoformat(size_t minwidth=1, size_t maxwidth=9) const
Format the nanosecond fractional part of the time as a string.
Definition: Time.cpp:303
Gaudi::TimeSpan::seconds
ValueType seconds() const
Get the number of complete seconds in the span.
Definition: Time.icpp:110

std::ostream& Gaudi::operator<< | ( | std::ostream & | o,
|  | const Gaudi::StringKey & | key
| ) |  |
| inline

printout of the object reply on the native printout for the string

Author
  Vanya BELYAEV Iavn..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2009-10-07

Definition at line 243 of file StringKey.h.

243 { return o << key.str(); }
Gaudi::StringKey::str
const std::string & str() const
the actual string
Definition: StringKey.h:47

bool Gaudi::operator== | ( | const Gaudi::Histo1DDef & | left,
|  | const Gaudi::Histo1DDef & | right
| ) |  |

Definition at line 68 of file HistoDef.cpp.

69 {
70 return std::tie( left.m_title, left.m_low, left.m_high, left.m_bins ) ==
71 std::tie( right.m_title, right.m_low, right.m_high, right.m_bins );
72 }
std::tie
T tie(T...args)
Gaudi::Histo1DDef::m_high
double m_high
High Edge.
Definition: HistoDef.h:104
Gaudi::Histo1DDef::m_title
std::string m_title
Histogram title.
Definition: HistoDef.h:100
Gaudi::Histo1DDef::m_bins
int m_bins
Number of bins.
Definition: HistoDef.h:106
Gaudi::Histo1DDef::m_low
double m_low
Low Edge.
Definition: HistoDef.h:102
template<unsigned int N>

bool Gaudi::operator== | ( | const Gaudi::StringKey & | key1,
|  | const char(&) | key2[N]
| ) |  |
| inline

equality operator with C-arrays

Author
  Vanya BELYAEV Iavn..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2009-10-07

Definition at line 150 of file StringKey.h.

151 {
152 return key1.str().size() == N && std::equal( key2, key2 + N, key1.str().begin() );
153 }
IOTest.N
int N
Definition: IOTest.py:101
std::string::size
T size(T...args)
std::string::begin
T begin(T...args)
std::equal
T equal(T...args)
Gaudi::StringKey::str
const std::string & str() const
the actual string
Definition: StringKey.h:47

bool Gaudi::operator== | ( | const std::string & | key1,
|  | const Gaudi::StringKey & | key2
| ) |  |
| inline

"right" form of equality operator

Author
  Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2009-10-07

Definition at line 169 of file StringKey.h.

169 { return key2 == key1; }
template<unsigned int N>

bool Gaudi::operator== | ( | const char(&) | key1[N],
|  | const Gaudi::StringKey & | key2
| ) |  |
| inline

"right" form of equality operator

Author
  Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2009-10-07

Definition at line 176 of file StringKey.h.

177 {
178 return key2 == key1;
179 }
template<class T , class TP , class V , class H >

bool Gaudi::operator== | ( | const T & | v,
|  | const Property< TP, V, H > & | p
| ) |  |

delegate (value == property) to property operator==

Definition at line 672 of file Property.h.

673 {
674 return p == v;
675 }

GAUDI_API void Gaudi::popCurrentDataObject | ( |  | ) |

Definition at line 41 of file RootIOHandler.cpp.

42 {
43 Gaudi::popCurrentDataObject();
44 resetLastLink();
45 }
Gaudi::popCurrentDataObject
GAUDI_API void popCurrentDataObject()
Definition: RootIOHandler.cpp:41
GaudiRoot::resetLastLink
void resetLastLink()
Definition: RootIOHandler.cpp:31

std::pair<DataObject*, AIDA::IProfile1D*> Gaudi::profile1DX | ( | const std::string & | name,
|  | const AIDA::IHistogram2D & | h,
|  | int | firstbin,
|  | int | lastbin
| ) |  |

Create 1D profile in X from 2D histogram.

std::pair<DataObject*, AIDA::IProfile1D*> Gaudi::profile1DY | ( | const std::string & | name,
|  | const AIDA::IHistogram2D & | h,
|  | int | firstbin,
|  | int | lastbin
| ) |  |

Create 1D profile in Y from 2D histogram.

std::pair<DataObject*, AIDA::IHistogram1D*> Gaudi::project1DX | ( | const std::string & | name,
|  | const AIDA::IHistogram2D & | h,
|  | int | firstbin,
|  | int | lastbin
| ) |  |

Create 1D projection in X from 2D histogram.

std::pair<DataObject*, AIDA::IHistogram1D*> Gaudi::project1DY | ( | const std::string & | name,
|  | const AIDA::IHistogram2D & | h,
|  | int | firstbin,
|  | int | lastbin
| ) |  |

Create 1D projection in Y from 2D histogram.

GAUDI_API void Gaudi::pushCurrentDataObject | ( | DataObject ** | pobjAddr | ) |

Definition at line 36 of file RootIOHandler.cpp.

37 {
38 Gaudi::pushCurrentDataObject( pobjAddr );
39 resetLastLink();
40 }
Gaudi::pushCurrentDataObject
GAUDI_API void pushCurrentDataObject(DataObject **pobjAddr)
Definition: RootIOHandler.cpp:36
GaudiRoot::resetLastLink
void resetLastLink()
Definition: RootIOHandler.cpp:31
template<class CONTAINER >

NamedRange_<CONTAINER> Gaudi::range | ( | const CONTAINER & | cnt,
|  | std::string | name
| ) |  |
| inline

simple function to create the named range from arbitrary container

1 const CONTAINER& cnt = ... ;
2 auto r = range ( cnt , "some name") ;

Author
  Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl

Date
  2007-11-29

Definition at line 121 of file NamedRange.h.

122 {
123 return NamedRange_<CONTAINER>( cnt.begin(), cnt.end(), std::move( name ) );
124 }
std::move
T move(T...args)
template<class CONTAINER >

Range_<CONTAINER> Gaudi::range | ( | const CONTAINER & | cnt | ) |
| inline

simple function to create the range from the arbitrary container

1 const CONTAINER& cnt = ... ;
2
3 Range_<CONTAINER> r = range ( cnt ) ;

The range could be created over ALL container types which supports at least the bidirectional iterators.

The minimum requirements from the container type:

- support the concept of "CONTAINER::value_type"
- support the concept of "CONTAINER::const_iterator"
- support the concept of "CONTAINER::const_reference"
- support the concept of "CONTAINER::const_reverse_iterator"
- the iterator should be ok for "std::distance" and "std::advance"
- support for "const_iterator CONTAINER::begin () const"
- support for "const_iterator CONTAINER::end () const"
- support for "const_reverse_iterator CONTAINER::rbegin () const"
- support for "const_reverse_iterator CONTAINER::rend () const"

Author
  Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yre.e.nosp@m.du

Date
  2007-11-29

Definition at line 324 of file Range.h.

325 {
326 return Range_<CONTAINER>( cnt.begin(), cnt.end() );
327 }

StatusCode Gaudi::setAppReturnCode | ( | SmartIF< IProperty > & | appmgr,
|  | int | value,
|  | bool | force = `false`
| ) |  |
| inline

Set the application return code.

By default the return code of the application is modified only if the original value was 0 (i.e. no error). In this way we keep the first cause of error.

Parameters

  appmgr | IProperty interface of the ApplicationMgr
  value | value to assign to the return code
  force | if set to true, the return code is set even if it was already set

Returns
  SUCCESS if it was possible to set the return code or the return code was already set

Definition at line 51 of file AppReturnCode.h.

52 {
53 if ( appmgr ) {
54 Gaudi::Property<int> returnCode( "ReturnCode", 0 );
55 if ( appmgr->getProperty( &returnCode ).isSuccess() ) {
56 if ( returnCode.value() == 0 || force ) {
57 returnCode.setValue( value );
58 return appmgr->setProperty( returnCode );
59 }
60 // Consider is a success if we do already have an error code.
61 return StatusCode::SUCCESS;
62 }
63 }
64 return StatusCode::FAILURE;
65 }
StatusCode::SUCCESS
Definition: StatusCode.h:29
Gaudi::Property
Implementation of property with value of concrete type.
Definition: Property.h:319
StatusCode::isSuccess
bool isSuccess() const
Test for a status code of SUCCESS.
Definition: StatusCode.h:50
IProperty::getProperty
virtual StatusCode getProperty(Gaudi::Details::PropertyBase *p) const =0
Get the property by property.
IProperty::setProperty
virtual StatusCode setProperty(const Gaudi::Details::PropertyBase &p)=0
Set the property by property.
StatusCode::FAILURE
Definition: StatusCode.h:29

GAUDI_API ISvcLocator* Gaudi::setInstance | ( | ISvcLocator * | newInstance | ) |

Set new instance of service locator.

Parameters

  newInstance | Current instance of service locator.

Returns
  Previous instance of service locator object.

GAUDI_API IAppMgrUI* Gaudi::setInstance | ( | IAppMgrUI * | newInstance | ) |

Set new instance of service locator.

Parameters

  newInstance | Current instance of service locator.

Returns
  Previous instance of service locator object.

GAUDI_API void Gaudi::Sleep | ( | int | sec | ) |

Simple sleep function.

Author
  Marco Clemencic

Definition at line 8 of file Sleep.cpp.

8 { std::this_thread::sleep_for( std::chrono::seconds( sec ) ); }
std::chrono::seconds
std::this_thread::sleep_for
T sleep_for(T...args)

std::pair<DataObject*, AIDA::IHistogram1D*> Gaudi::slice1DX | ( | const std::string & | name,
|  | const AIDA::IHistogram2D & | h,
|  | int | firstbin,
|  | int | lastbin
| ) |  |

Create 1D slice from 2D histogram.

std::pair<DataObject*, AIDA::IHistogram1D*> Gaudi::slice1DY | ( | const std::string & | name,
|  | const AIDA::IHistogram2D & | h,
|  | int | firstbin,
|  | int | lastbin
| ) |  |

Create 1D slice from 2D histogram.

GAUDI_API ISvcLocator* Gaudi::svcLocator | ( |  | ) |