The Gaudi Framework  v32r2 (46d42edc)
Gaudi Namespace Reference

Header file for std:chrono::duration-based Counters. More...

Namespaces

 Accumulators
 Efficient counter implementations for Gaudi.
 
 CommonGaudiConfigurables
 
 Concurrency
 
 Configuration
 
 CounterSummary
 
 cpp17
 
 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
 
 Interfaces
 
 Main
 
 meta
 
 Parsers
 
 PluginService
 See Gaudi::PluginService.
 
 ReturnCode
 ApplicationMgr return code definitions.
 
 StateMachine
 
 tagged_bool_ns
 
 Timers
 
 Units
 
 Utils
 

Classes

class  _ConfigurablesModule
 
class  Algorithm
 Base class from which all concrete algorithm classes should be derived. More...
 
class  Application
 Gaudi application entry point. More...
 
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  c_opt_t
 
struct  ContainerSection
 
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< 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  RootDatabaseMerger
 
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...
 
struct  RootEventExtractor
 
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  Sequence
 
class  SerialTaskQueue
 Class for a generic serial queue of tasks (modeled on the Intel Threading Building Blocks Design Pattern "Local Serializer"). More...
 
class  StatEntity
 backward compatible StatEntity class. 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 IAppMgrUIcreateApplicationMgrEx (const std::string &dllname, const std::string &factname)
 
GAUDI_API IAppMgrUIcreateApplicationMgr (const std::string &dllname, const std::string &factname)
 
GAUDI_API IAppMgrUIcreateApplicationMgr (const std::string &dllname)
 
GAUDI_API IAppMgrUIcreateApplicationMgr ()
 
GAUDI_API IInterfacecreateInstance (const std::string &name, const std::string &factname, const std::string &ddlname)
 
GAUDI_API ISvcLocatorsvcLocator ()
 
GAUDI_API ISvcLocatorsetInstance (ISvcLocator *newInstance)
 Set new instance of service locator. More...
 
GAUDI_API IAppMgrUIsetInstance (IAppMgrUI *newInstance)
 Set new instance of service locator. More...
 
template<typename... lambda_ts>
auto overload (lambda_ts &&... lambdas)
 
GAUDI_API void pushCurrentDataObject (DataObject **pobjAddr)
 
GAUDI_API void popCurrentDataObject ()
 
GAUDI_API DataObjectgetCurrentDataObject ()
 
template<typename... Is>
std::vector< std::stringgetInterfaceNames (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 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(auto) 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::ostreamoperator<< (std::ostream &o, const Gaudi::StringKey &key)
 printout of the object reply on the native printout for the string More...
 
std::ostreamoperator<< (std::ostream &out, const Gaudi::Time &time)
 Output operator. More...
 
std::ostreamoperator<< (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::ostreamoperator<< (std::ostream &o, const Gaudi::Histo1DDef &histo)
 
std::string createGuidAsString ()
 Helper function creating file identifier using the UUID mechanism. More...
 
int extractEvt (const char *input, const char *output, long num_evt)
 Function to extract single event and write it to an output file. More...
 

Detailed Description

Header file for std:chrono::duration-based Counters.

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.

General Gaudi namespace.

Helper functions to set/get the application return code.

Include this header file (instead of GaudiKernel/Counters.h) if you want to use std::chrono::duration-based Counters. It includes support for the required arithmetic and stream operations.

Author
Marco Clemencic
Juan PALACIOS
Date
2005-11-21
Author
Juan PALACIOS
Date
2005-11-23
Author
Marco Clemencic marco.nosp@m..cle.nosp@m.menci.nosp@m.c@ce.nosp@m.rn.ch
Marco Clemencic marco.nosp@m..cle.nosp@m.menci.nosp@m.c@ce.nosp@m.rn.ch See Gaudi::PluginService

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

◆ Cast() [1/2]

template<typename TARGET >
TARGET* Gaudi::Cast ( IInterface i)

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

Definition at line 319 of file IInterface.h.

319  {
320  return reinterpret_cast<TARGET*>( i->i_cast( TARGET::interfaceID() ) );
321  }
virtual void * i_cast(const InterfaceID &) const =0
main cast function

◆ Cast() [2/2]

template<typename TARGET >
const TARGET* Gaudi::Cast ( const IInterface i)

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

const version

Definition at line 325 of file IInterface.h.

325  {
326  return reinterpret_cast<const TARGET*>( i->i_cast( TARGET::interfaceID() ) );
327  }
virtual void * i_cast(const InterfaceID &) const =0
main cast function

◆ createApplicationMgr() [1/3]

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

◆ createApplicationMgr() [2/3]

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

◆ createApplicationMgr() [3/3]

GAUDI_API IAppMgrUI* Gaudi::createApplicationMgr ( )

Definition at line 228 of file Bootstrap.cpp.

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

◆ createApplicationMgrEx()

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

◆ createGuidAsString()

std::string Gaudi::createGuidAsString ( )

Helper function creating file identifier using the UUID mechanism.

Create file identifier using UUID mechanism.

◆ createH1D() [1/3]

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

Copy constructor.

◆ createH1D() [2/3]

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.

◆ createH1D() [3/3]

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

Creator for 1D histogram with variable bins.

◆ createH2D() [1/4]

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

Copy constructor.

◆ createH2D() [2/4]

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

"Adopt" constructor

◆ createH2D() [3/4]

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.

◆ createH2D() [4/4]

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.

◆ createH3D() [1/3]

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

Copy constructor.

◆ createH3D() [2/3]

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.

◆ createH3D() [3/3]

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.

◆ createInstance()

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

◆ createProf1D() [1/3]

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

Copy constructor.

◆ createProf1D() [2/3]

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.

◆ createProf1D() [3/3]

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.

◆ createProf2D() [1/3]

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

Copy constructor.

◆ createProf2D() [2/3]

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.

◆ createProf2D() [3/3]

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.

◆ extractEvt()

int Gaudi::extractEvt ( const char *  input,
const char *  output,
long  num_evt 
)

Function to extract single event and write it to an output file.

Definition at line 366 of file extractEvt.C.

366  {
367  RootEventExtractor e( input, output, "RECREATE" );
368  if ( e.select( num_evt ) == EXTRACT_SUCCESS ) {
369  if ( e.extract() == EXTRACT_SUCCESS ) { return EXTRACT_SUCCESS; }
370  }
371  return EXTRACT_ERROR;
372 }

◆ getAppReturnCode()

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 69 of file AppReturnCode.h.

69  {
70  if ( appmgr ) {
71  Gaudi::Property<int> returnCode( "ReturnCode", 0 );
72  if ( appmgr->getProperty( &returnCode ).isSuccess() ) return returnCode.value();
73  }
74  return 0;
75  }
Implementation of property with value of concrete type.
Definition: Property.h:352
virtual StatusCode getProperty(Gaudi::Details::PropertyBase *p) const =0
Get the property by property.
bool isSuccess() const
Definition: StatusCode.h:267

◆ getCurrentDataObject()

GAUDI_API DataObject* Gaudi::getCurrentDataObject ( )

◆ getInterfaceNames()

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

Definition at line 180 of file IInterface.h.

180  {
181  return {Is::name()...};
182  }

◆ getRepresentation()

template<class Q , class T >
T* Gaudi::getRepresentation ( const Q &  hist)

Definition at line 8 of file HistogramUtility.h.

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

◆ hash_value()

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 201 of file StringKey.h.

201 { return key.__hash__(); }
std::size_t __hash__() const
the actual access to the hash
Definition: StringKey.h:114

◆ iid_cast()

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

Definition at line 185 of file IInterface.h.

185  {
186  constexpr auto iid_cast_ = iid_cast_details::iid_cast_t<Is...>{};
187  return iid_cast_( tid, ptr );
188  }

◆ NanoSleep()

GAUDI_API void Gaudi::NanoSleep ( long long  nsec)

Small variation on the sleep function for nanoseconds sleep.

Author
Marco Clemencic

Definition at line 9 of file Sleep.cpp.

◆ operator!=() [1/5]

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

Definition at line 72 of file HistoDef.cpp.

72 { return !( left == right ); }
T left(T... args)

◆ operator!=() [2/5]

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 157 of file StringKey.h.

157  {
158  return !( key1 == key2 );
159  }

◆ operator!=() [3/5]

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 180 of file StringKey.h.

180 { return key2 != key1; }

◆ operator!=() [4/5]

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 187 of file StringKey.h.

187  {
188  return key2 != key1;
189  }

◆ operator!=() [5/5]

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 702 of file Property.h.

702  {
703  return p != v;
704  }

◆ operator+()

template<class T , class TP , class V , class H >
decltype( auto ) Gaudi::operator+ ( const T &  v,
const Property< TP, V, H > &  p 
)

implemantation of (value + property)

Definition at line 708 of file Property.h.

708  {
709  return v + p.value();
710  }

◆ operator<()

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

Definition at line 49 of file HistoDef.cpp.

49  {
50  return std::tie( left.m_title, left.m_low, left.m_high, left.m_bins ) <
51  std::tie( right.m_title, right.m_low, right.m_high, right.m_bins );
52  }
T tie(T... args)
T left(T... args)

◆ operator<<() [1/4]

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

Definition at line 76 of file HistoDef.cpp.

76 { return histo.fillStream( o ); }
std::ostream & fillStream(std::ostream &o) const
printout of the histogram definition
Definition: HistoDef.cpp:42

◆ operator<<() [2/4]

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

Output operator.

Definition at line 154 of file Time.icpp.

154  {
155  return out << Gaudi::TimeSpan( time ).seconds() << '.' << time.nanoformat();
156  }
ValueType seconds() const
Get the number of complete seconds in the span.
Definition: Time.icpp:102
Based on seal::TimeSpan.
Definition: Time.h:52

◆ operator<<() [3/4]

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

Output operator.

Definition at line 159 of file Time.icpp.

159  {
160  return out << time.seconds() << '.' << Gaudi::Time( time ).nanoformat();
161  }
Based on seal::Time.
Definition: Time.h:231
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:292

◆ operator<<() [4/4]

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 235 of file StringKey.h.

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

◆ operator==() [1/5]

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

Definition at line 61 of file HistoDef.cpp.

61  {
62  return std::tie( left.m_title, left.m_low, left.m_high, left.m_bins ) ==
63  std::tie( right.m_title, right.m_low, right.m_high, right.m_bins );
64  }
T tie(T... args)
T left(T... args)

◆ operator==() [2/5]

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 148 of file StringKey.h.

148  {
149  return key1.str().size() == N && std::equal( key2, key2 + N, key1.str().begin() );
150  }
const std::string & str() const
the actual string
Definition: StringKey.h:45
int N
Definition: IOTest.py:100
T size(T... args)
T begin(T... args)
T equal(T... args)

◆ operator==() [3/5]

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 165 of file StringKey.h.

165 { return key2 == key1; }

◆ operator==() [4/5]

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 172 of file StringKey.h.

172  {
173  return key2 == key1;
174  }

◆ operator==() [5/5]

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 696 of file Property.h.

696  {
697  return p == v;
698  }

◆ overload()

template<typename... lambda_ts>
auto Gaudi::overload ( lambda_ts &&...  lambdas)

Definition at line 28 of file compose.h.

28  {
29  return details::overloaded_t{std::forward<lambda_ts>( lambdas )...};
30  }
overloaded_t(lambda_ts...) -> overloaded_t< lambda_ts... >

◆ popCurrentDataObject()

GAUDI_API void Gaudi::popCurrentDataObject ( )

Definition at line 38 of file RootIOHandler.cpp.

38  {
40  resetLastLink();
41  }
GAUDI_API void popCurrentDataObject()
void resetLastLink()

◆ profile1DX()

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.

◆ profile1DY()

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.

◆ project1DX()

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.

◆ project1DY()

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.

◆ pushCurrentDataObject()

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

Definition at line 34 of file RootIOHandler.cpp.

34  {
35  Gaudi::pushCurrentDataObject( pobjAddr );
36  resetLastLink();
37  }
GAUDI_API void pushCurrentDataObject(DataObject **pobjAddr)
void resetLastLink()

◆ range() [1/2]

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

simple function to create the named range from arbitrary container

const CONTAINER& cnt = ... ;
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 118 of file NamedRange.h.

118  {
119  return NamedRange_<CONTAINER>( cnt.begin(), cnt.end(), std::move( name ) );
120  }
T move(T... args)

◆ range() [2/2]

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

simple function to create the range from the arbitrary container

const CONTAINER& cnt = ... ;
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 276 of file Range.h.

276  {
277  return Range_<CONTAINER>( cnt.begin(), cnt.end() );
278  }

◆ setAppReturnCode()

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
appmgrIProperty interface of the ApplicationMgr
valuevalue to assign to the return code
forceif 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 49 of file AppReturnCode.h.

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

◆ setInstance() [1/2]

GAUDI_API ISvcLocator* Gaudi::setInstance ( ISvcLocator newInstance)

Set new instance of service locator.

Parameters
newInstanceCurrent instance of service locator.
Returns
Previous instance of service locator object.

◆ setInstance() [2/2]

GAUDI_API IAppMgrUI* Gaudi::setInstance ( IAppMgrUI newInstance)

Set new instance of service locator.

Parameters
newInstanceCurrent instance of service locator.
Returns
Previous instance of service locator object.

◆ Sleep()

GAUDI_API void Gaudi::Sleep ( int  sec)

Simple sleep function.

Author
Marco Clemencic

Definition at line 7 of file Sleep.cpp.

◆ slice1DX()

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.

◆ slice1DY()

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.

◆ svcLocator()

GAUDI_API ISvcLocator* Gaudi::svcLocator ( )