The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
Gaudi Namespace Reference

This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from python with a format liks : ( nbins, min, max, title ) where title can be ommited. More...

Namespaces

namespace  Accumulators
 Efficient counter implementations for Gaudi.
 
namespace  Allocator
 
namespace  Arena
 
namespace  CommonGaudiConfigurables
 
namespace  Concurrency
 
namespace  Configuration
 
namespace  ConfUser
 
namespace  CounterSummary
 
namespace  cpp17
 
namespace  CUDA
 
namespace  cxx
 
namespace  Decays
 
namespace  Details
 
namespace  details
 
namespace  Example
 
namespace  Functional
 
namespace  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.
 
namespace  Histograming
 
namespace  Histos
 collection of simple utilities to deal with histograms
 
namespace  Hive
 
namespace  Interface
 
namespace  Interfaces
 
namespace  Main
 
namespace  meta
 
namespace  Monitoring
 
namespace  NTuple
 
namespace  Parsers
 
namespace  ParticleProperties
 
namespace  PluginService
 
namespace  ReturnCode
 ApplicationMgr return code definitions.
 
namespace  StateMachine
 
namespace  tagged_bool_ns
 
namespace  Tests
 
namespace  TestSuite
 
namespace  Timers
 
namespace  Tr
 
namespace  Units
 
namespace  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  AsynchronousAlgorithm
 Base class for asynchronous algorithms. More...
 
class  Auditor
 Base class from which all concrete auditor classes should be derived. 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
 
class  EventWatchdogAlg
 Add to the transient store a tracker that detects events that are taking too long. More...
 
class  FSMCallbackHolder
 Helper class to implement the IFSMCallbackHolder interface. More...
 
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  IAuditor
 The IAuditor is the interface implemented by the Auditor base class. More...
 
class  IDataConnection
 ABC describing basic data connection. More...
 
class  IFileCatalog
 File catalog interface. More...
 
class  IFileCatalogMgr
 File catalog manager. More...
 
struct  IFSMCallbackHolder
 Interface defining a CallBack registration functionality based on the State Machine of Gaudi. 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  ParticleID
 Holds PDG + LHCb extension particle code, following the PDG particle numbering scheme (pdg.lbl.gov/2017/reviews/rpp2017-rev-monte-carlo-numbering.pdf). More...
 
class  ParticleProperty
 A trivial class to hold information about a single particle properties. More...
 
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  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  Sequencer
 A Sequencer is essentially a list of Algorithms and is responsible for their management. More...
 
class  StringKey
 Helper class for efficient "key" access for strings. More...
 
struct  StringKeyHash
 Transparent hash operator for heterogeneous lookups. More...
 
class  SysProcStat
 
class  tagged_bool
 
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...
 

Concepts

concept  IsInterface
 

Functions

template<class Q, class T>
T * getRepresentation (const Q &hist)
 
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D (ISvcLocator *svcLocator, const std::string &path, const AIDA::IHistogram1D &hist)
 Copy constructor.
 
std::pair< DataObject *, AIDA::IHistogram1D * > createH1D (ISvcLocator *svcLocator, const std::string &path, 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 * > createH1D (ISvcLocator *svcLocator, const std::string &path, const std::string &title, const Edges &e)
 Creator for 1D histogram with variable bins.
 
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D (ISvcLocator *svcLocator, const std::string &path, const AIDA::IHistogram2D &hist)
 Copy constructor.
 
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D (ISvcLocator *svcLocator, const std::string &path, TH2D *rep)
 "Adopt" constructor
 
std::pair< DataObject *, AIDA::IHistogram2D * > createH2D (ISvcLocator *svcLocator, const std::string &path, 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 * > createH2D (ISvcLocator *svcLocator, const std::string &path, const std::string &title, const Edges &eX, const Edges &eY)
 Creator for 2 D histograms with variable bins.
 
std::pair< DataObject *, AIDA::IHistogram1D * > slice1DX (const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
 Create 1D slice from 2D histogram.
 
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.
 
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.
 
std::pair< DataObject *, AIDA::IHistogram1D * > slice1DY (const std::string &name, const AIDA::IHistogram2D &h, int firstbin, int lastbin)
 Create 1D slice from 2D histogram.
 
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.
 
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.
 
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D (ISvcLocator *svcLocator, const std::string &path, const AIDA::IHistogram3D &hist)
 Copy constructor.
 
std::pair< DataObject *, AIDA::IHistogram3D * > createH3D (ISvcLocator *svcLocator, const std::string &path, 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 * > createH3D (ISvcLocator *svcLocator, const std::string &path, const std::string &title, const Edges &eX, const Edges &eY, const Edges &eZ)
 Create 3D histogram with variable bins.
 
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D (ISvcLocator *svcLocator, const std::string &path, const AIDA::IProfile1D &hist)
 Copy constructor.
 
std::pair< DataObject *, AIDA::IProfile1D * > createProf1D (ISvcLocator *svcLocator, const std::string &path, 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 * > createProf1D (ISvcLocator *svcLocator, const std::string &path, 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 * > createProf2D (ISvcLocator *svcLocator, const std::string &path, const AIDA::IProfile2D &hist)
 Copy constructor.
 
std::pair< DataObject *, AIDA::IProfile2D * > createProf2D (ISvcLocator *svcLocator, const std::string &path, 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 * > createProf2D (ISvcLocator *svcLocator, const std::string &path, const std::string &title, const Edges &eX, const Edges &eY, double lowerValue, double upperValue)
 Creator for 2 D profile with variable bins.
 
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==
 
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!=
 
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)
 
StatusCode setAppReturnCode (SmartIF< IProperty > &appmgr, int value, bool force=false)
 Set the application return code.
 
int getAppReturnCode (const SmartIF< IProperty > &appmgr)
 Get the application (current) return code.
 
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.
 
GAUDI_API IAppMgrUIsetInstance (IAppMgrUI *newInstance)
 Set new instance of service locator.
 
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::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)
 
template<typename TARGET>
const TARGET * Cast (const IInterface *i)
 
template<class CONTAINER>
NamedRange_< CONTAINER > range (const CONTAINER &cnt, std::string name)
 simple function to create the named range from arbitrary container
 
template<class CONTAINER>
Range_< CONTAINER > range (const CONTAINER &cnt)
 simple function to create the range from the arbitrary container
 
GAUDI_API void Sleep (int sec)
 Simple sleep function.
 
GAUDI_API void NanoSleep (long long nsec)
 Small variation on the sleep function for nanoseconds sleep.
 
std::size_t hash_value (const Gaudi::StringKey &key)
 hash-function: heeded for boost::hash
 
std::ostream & operator<< (std::ostream &o, const Gaudi::StringKey &key)
 printout of the object reply on the native printout for the string
 
std::ostream & operator<< (std::ostream &out, const Gaudi::Time &time)
 Output operator.
 
std::ostream & operator<< (std::ostream &out, const Gaudi::TimeSpan &time)
 Output operator.
 
std::ostream & operator<< (std::ostream &str, const DataHandle &d)
 
bool operator< (const Gaudi::Histo1DDef &left, const Gaudi::Histo1DDef &right)
 
std::ostream & operator<< (std::ostream &o, const Gaudi::Histo1DDef &histo)
 
std::ostream & operator<< (std::ostream &s, const Gaudi::ParticleID &o)
 Stream operator for the PID.
 
std::ostream & operator<< (std::ostream &s, Gaudi::ParticleID::Location l)
 Stream operator for the PDG digit enumeration.
 
std::ostream & operator<< (std::ostream &s, Gaudi::ParticleID::Quark q)
 Stream operator for the PDG quark enumeration.
 
std::ostream & operator<< (std::ostream &o, const RootAddress &addr)
 
std::string createGuidAsString ()
 Helper function creating file identifier using the UUID mechanism.
 
int extractEvt (const char *input, const char *output, long num_evt)
 Function to extract single event and write it to an output file.
 

Detailed Description

This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from python with a format liks : ( nbins, min, max, title ) where title can be ommited.

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

General Gaudi namepace.

General Gaudi namespace.

Helper functions to set/get the application return code.

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

note that for the parsing, min and max will be parsed as doubles before being converted to the actual type used as Arithmetic for Axis, so an automatic conversion between the 2 must be provided

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

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>
const TARGET * Gaudi::Cast ( const IInterface * i)

Definition at line 338 of file IInterface.h.

338 {
339 return i ? i->cast<const TARGET>() : nullptr;
340 }
TARGET * cast()
Definition IInterface.h:237

◆ Cast() [2/2]

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

Definition at line 333 of file IInterface.h.

333 {
334 return i ? i->cast<TARGET>() : nullptr;
335 }

◆ createApplicationMgr() [1/3]

GAUDI_API IAppMgrUI * Gaudi::createApplicationMgr ( )

◆ createApplicationMgr() [2/3]

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

◆ createApplicationMgr() [3/3]

GAUDI_API IAppMgrUI * Gaudi::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 ( ISvcLocator * svcLocator,
const std::string & path,
const AIDA::IHistogram1D & hist )

Copy constructor.

◆ createH1D() [2/3]

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

Creator for 1D histogram with variable bins.

◆ createH1D() [3/3]

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

Creator for 1D histogram with fixed bins.

◆ createH2D() [1/4]

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

Copy constructor.

◆ createH2D() [2/4]

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

Creator for 2 D histograms with variable bins.

◆ createH2D() [3/4]

std::pair< DataObject *, AIDA::IHistogram2D * > Gaudi::createH2D ( ISvcLocator * svcLocator,
const std::string & path,
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 ( ISvcLocator * svcLocator,
const std::string & path,
TH2D * rep )

"Adopt" constructor

◆ createH3D() [1/3]

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

Copy constructor.

◆ createH3D() [2/3]

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

Create 3D histogram with variable bins.

◆ createH3D() [3/3]

std::pair< DataObject *, AIDA::IHistogram3D * > Gaudi::createH3D ( ISvcLocator * svcLocator,
const std::string & path,
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.

◆ 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 ( ISvcLocator * svcLocator,
const std::string & path,
const AIDA::IProfile1D & hist )

Copy constructor.

◆ createProf1D() [2/3]

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

Creator of 1D profile with variable bins.

◆ createProf1D() [3/3]

std::pair< DataObject *, AIDA::IProfile1D * > Gaudi::createProf1D ( ISvcLocator * svcLocator,
const std::string & path,
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.

◆ createProf2D() [1/3]

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

Copy constructor.

◆ createProf2D() [2/3]

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

Creator for 2 D profile with variable bins.

◆ createProf2D() [3/3]

std::pair< DataObject *, AIDA::IProfile2D * > Gaudi::createProf2D ( ISvcLocator * svcLocator,
const std::string & path,
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.

◆ 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 376 of file extractEvt.C.

376 {
377 RootEventExtractor e( input, output, "RECREATE" );
378 if ( e.select( num_evt ) == EXTRACT_SUCCESS ) {
379 if ( e.extract() == EXTRACT_SUCCESS ) { return EXTRACT_SUCCESS; }
380 }
381 return EXTRACT_ERROR;
382}
@ EXTRACT_ERROR
Definition extractEvt.C:124
@ EXTRACT_SUCCESS
Definition extractEvt.C:124

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

78 {
79 if ( appmgr ) {
80 Gaudi::Property<int> returnCode( "ReturnCode", 0 );
81 if ( appmgr->getProperty( &returnCode ).isSuccess() ) return returnCode.value();
82 }
83 return 0;
84 }
Implementation of property with value of concrete type.
Definition PropertyFwd.h:27
virtual StatusCode getProperty(Gaudi::Details::PropertyBase *p) const =0
Get the property by property.
bool isSuccess() const
Definition StatusCode.h:314

◆ getCurrentDataObject()

GAUDI_API DataObject * Gaudi::getCurrentDataObject ( )

◆ getInterfaceNames()

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

Definition at line 158 of file IInterface.h.

158 {
159 return { Is::name()... };
160 }

◆ getRepresentation()

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

Definition at line 17 of file HistogramUtility.h.

17 {
18 auto p = dynamic_cast<const HistogramBase*>( &hist );
19 return p ? dynamic_cast<T*>( p->representation() ) : nullptr;
20 }
Common base class for all histograms Use is solely functional to minimize dynamic_casts inside Histog...

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

153{ return key.__hash__(); }

◆ iid_cast()

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

Definition at line 163 of file IInterface.h.

163 {
164 const void* target = nullptr;
165 ( ( tid.versionMatch( Is::interfaceID() ) &&
166 ( target = static_cast<typename Is::interface_type const*>( ptr ), true ) ) ||
167 ... );
168 return const_cast<void*>( target );
169 }
constexpr bool versionMatch(const InterfaceID &iid) const
check compatibility.
Definition IInterface.h:55

◆ NanoSleep()

GAUDI_API void Gaudi::NanoSleep ( long long nsec)

Small variation on the sleep function for nanoseconds sleep.

Author
Marco Clemencic

Definition at line 19 of file Sleep.cpp.

19{ std::this_thread::sleep_for( std::chrono::nanoseconds( nsec ) ); }

◆ operator!=()

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

426 {
427 return p.operator!=( v );
428 }

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

432 {
433 return v + p.value();
434 }
const ValueType & value() const
Definition Property.h:229

◆ operator<()

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

Definition at line 44 of file HistoDef.cpp.

44 {
45 return std::tie( left.m_title, left.m_low, left.m_high, left.m_bins ) <
46 std::tie( right.m_title, right.m_low, right.m_high, right.m_bins );
47 }
double m_high
High Edge.
Definition HistoDef.h:72
int m_bins
Number of bins.
Definition HistoDef.h:73
double m_low
Low Edge.
Definition HistoDef.h:71
std::string m_title
Histogram title.
Definition HistoDef.h:70

◆ operator<<() [1/9]

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

Definition at line 49 of file HistoDef.cpp.

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

◆ operator<<() [2/9]

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

176{ return o << key.str(); }

◆ operator<<() [3/9]

std::ostream & Gaudi::operator<< ( std::ostream & o,
const RootAddress & addr )
inline

Definition at line 19 of file MIHelpers.h.

19 {
20 return o << addr.svcType() << ' ' << addr.clID() << ' ' << addr.par()[0] << ' ' << addr.par()[1] << ' '
21 << addr.ipar()[0] << ' ' << addr.ipar()[1];
22 }
long svcType() const override
Access : retrieve the storage type of the class id.
const CLID & clID() const override
Access : Retrieve class ID of the link.
const std::string * par() const override
Retrieve string parameters.
const unsigned long * ipar() const override
Retrieve integer parameters.

◆ operator<<() [4/9]

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

Output operator.

Definition at line 163 of file Time.icpp.

163 {
164 return out << Gaudi::TimeSpan( time ).seconds() << '.' << time.nanoformat();
165 }
Based on seal::TimeSpan.
Definition Time.h:56
ValueType seconds() const
Get the number of complete seconds in the span.
Definition Time.icpp:111

◆ operator<<() [5/9]

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

Output operator.

Definition at line 168 of file Time.icpp.

168 {
169 return out << time.seconds() << '.' << Gaudi::Time( time ).nanoformat();
170 }
Based on seal::Time.
Definition Time.h:235
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:197

◆ operator<<() [6/9]

std::ostream & Gaudi::operator<< ( std::ostream & s,
const Gaudi::ParticleID & o )
inline

Stream operator for the PID.

Definition at line 160 of file ParticleID.h.

160{ return o.fillStream( s ); }
std::ostream & fillStream(std::ostream &s) const
Fill a stream with the PID.

◆ operator<<() [7/9]

std::ostream & Gaudi::operator<< ( std::ostream & s,
Gaudi::ParticleID::Location l )
inline

Stream operator for the PDG digit enumeration.

Definition at line 162 of file ParticleID.h.

162 {
164 }
static std::ostream & printLocation(const long l, std::ostream &s)
Fill a stream with the PID digit enumeration.

◆ operator<<() [8/9]

std::ostream & Gaudi::operator<< ( std::ostream & s,
Gaudi::ParticleID::Quark q )
inline

Stream operator for the PDG quark enumeration.

Definition at line 166 of file ParticleID.h.

166 {
167 return Gaudi::ParticleID::printQuark( q, s );
168 }
static std::ostream & printQuark(const long q, std::ostream &s)
Fill a stream with the PID quark enumeration.

◆ operator<<() [9/9]

std::ostream & Gaudi::operator<< ( std::ostream & str,
const DataHandle & d )

Definition at line 37 of file DataHandle.cpp.

37 {
38 str << d.fullKey() << " m: " << d.mode();
39 if ( d.owner() ) str << " o: " << d.owner()->name();
40 return str;
41 }
virtual IDataHandleHolder * owner() const
Definition DataHandle.h:52
virtual Mode mode() const
Definition DataHandle.h:54
virtual const DataObjID & fullKey() const
Definition DataHandle.h:60
virtual const std::string & name() const =0
Retrieve the name of the instance.

◆ operator==()

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

420 {
421 return p.operator==( v );
422 }

◆ overload()

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

Definition at line 37 of file compose.h.

37 {
38 return details::overloaded_t{ std::forward<lambda_ts>( lambdas )... };
39 }

◆ popCurrentDataObject()

GAUDI_API void Gaudi::popCurrentDataObject ( )

◆ 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)

◆ range() [1/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 249 of file Range.h.

249 {
250 return Range_<CONTAINER>( cnt.begin(), cnt.end() );
251 }
Useful class for representation of "sequence" of the objects through the range of valid iterators.
Definition Range.h:81

◆ range() [2/2]

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

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 111 of file NamedRange.h.

111 {
112 return NamedRange_<CONTAINER>( cnt.begin(), cnt.end(), std::move( name ) );
113 }

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

58 {
59 if ( appmgr ) {
60 Gaudi::Property<int> returnCode( "ReturnCode", 0 );
61 if ( appmgr->getProperty( &returnCode ).isSuccess() ) {
62 if ( returnCode.value() == 0 || force ) {
63 returnCode.setValue( value );
64 return appmgr->setProperty( returnCode );
65 }
66 // Consider is a success if we do already have an error code.
68 }
69 }
71 }
StatusCode setProperty(const Gaudi::Details::PropertyBase &p)
Set the property from a property.
Definition IProperty.h:38
constexpr static const auto SUCCESS
Definition StatusCode.h:99
constexpr static const auto FAILURE
Definition StatusCode.h:100

◆ setInstance() [1/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.

◆ setInstance() [2/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.

◆ Sleep()

GAUDI_API void Gaudi::Sleep ( int sec)

Simple sleep function.

Author
Marco Clemencic

Definition at line 17 of file Sleep.cpp.

17{ std::this_thread::sleep_for( std::chrono::seconds( sec ) ); }

◆ 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 ( )