The Gaudi Framework  v38r0 (2143aa4c)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Gaudi::Utils Namespace Reference

Namespaces

 Histos
 
 QuasiRandom
 
 RegEx
 RegeEx: nemspace to hold gaudi regular expression checking.
 

Classes

struct  _GetType
 
struct  _GetType< Gaudi::NamedRange_< CONTAINER > >
 the template specialization for "named ranges" More...
 
struct  _GetType< Gaudi::Range_< CONTAINER > >
 the template specialization for "ranges" More...
 
struct  _GetType< TYPE & >
 the template specialization for references More...
 
struct  _GetType< TYPE * >
 the template specialization for pointers More...
 
class  Aida2ROOT
 
class  AlgContext
 
class  AlgNameSelector
 
class  AlgSelector
 
class  AlgTypeSelector
 
class  AttribStringParser
 Parse attribute strings allowing iteration over the various attributes. More...
 
struct  CheckData
 
struct  CheckData< const TYPE >
 the template specialization for 'const'-type More...
 
struct  CheckData< Gaudi::NamedRange_< std::vector< const TYPE * > > >
 the template specialization for ranges More...
 
struct  CheckData< Gaudi::Range_< std::vector< const TYPE * > > >
 the template specialization for ranges More...
 
struct  CheckData< TYPE & >
 the template specialization for reference types More...
 
struct  CheckData< TYPE * >
 the template specialization for pointer types More...
 
struct  GetData
 
struct  GetData< const TYPE >
 the template specialization for const types More...
 
struct  GetData< Gaudi::NamedRange_< std::vector< const TYPE * > > >
 the template specialization for named ranges More...
 
struct  GetData< Gaudi::Range_< std::vector< const TYPE * > > >
 the template specialization for ranges More...
 
struct  GetData< TYPE & >
 the template specialization for reference types More...
 
struct  GetData< TYPE * >
 the template specialization for pointer types More...
 
struct  GetOrCreateData
 
struct  GetOrCreateData< const TYPE, const TYPE2 >
 
struct  GetOrCreateData< const TYPE, TYPE2 >
 
struct  GetOrCreateData< Gaudi::NamedRange_< std::vector< const TYPE * > >, TYPE2 >
 
struct  GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >
 
struct  GetOrCreateData< TYPE &, TYPE2 & >
 
struct  GetOrCreateData< TYPE &, TYPE2 >
 
struct  GetOrCreateData< TYPE *, TYPE2 * >
 
struct  GetOrCreateData< TYPE *, TYPE2 >
 
struct  GetOrCreateData< TYPE, const TYPE2 >
 
struct  GetOrCreateData< TYPE, TYPE2 & >
 
struct  GetOrCreateData< TYPE, TYPE2 * >
 
class  HistoStats
 
class  LockedChrono
 
class  MapBase
 
class  SignalMonitorSvc
 Implementation of Gaudi::ISignalMonitor. More...
 
class  StopSignalHandler
 Service that stop the processing if a signal is received. More...
 
struct  TuplePrinter
 
struct  TuplePrinter< Tuple, 1 >
 
class  TypeNameString
 Helper class to parse a string of format "type/name". More...
 

Functions

GAUDI_API IAlgorithmgetAlgorithm (const IAlgContextSvc *svc, const AlgSelector &sel)
 simple function to get the algorithm from Context Service More...
 
GAUDI_API IAlgorithmgetAlgorithm (const std::vector< IAlgorithm * > &lst, const AlgSelector &sel)
 simple function to get the algorithm from Context Service More...
 
GAUDI_API GaudiAlgorithmgetGaudiAlg (const IAlgContextSvc *svc)
 simple function to extract the last active GaudiAlgorithm from the context More...
 
GAUDI_API GaudiHistoAlggetHistoAlg (const IAlgContextSvc *svc)
 simple function to extract the last active GaudiHistoAlg from the context More...
 
GAUDI_API GaudiTupleAlggetTupleAlg (const IAlgContextSvc *svc)
 simple function to extract the last active GaudiTupleAlg from the context More...
 
GAUDI_API GaudiSequencergetGaudiSequencer (const IAlgContextSvc *svc)
 simple function to extract the last active GaudiSequencer from the context More...
 
GAUDI_API SequencergetSequencerAlg (const IAlgContextSvc *svc)
 simple function to extract the last active Sequencer from the context More...
 
GAUDI_API IAlgorithmgetSequencer (const IAlgContextSvc *svc)
 simple function to extract the last active "Sequencer" () GaudiSequencer or simple Sequencer) from the context More...
 
template<class TYPE , std::enable_if_t<!std::is_constructible_v< TYPE >, void * > = nullptr>
_GetType< TYPE >::return_type getFromTS (IDataProviderSvc *service, std::string_view location)
 Helper function to provide the minimal lookup and cast functionality of SmartDataPtr used in the helper classes. More...
 
GAUDI_API bool hasProperty (const IProperty *p, std::string_view name)
 simple function which check the existence of the property with the given name. More...
 
GAUDI_API bool hasProperty (const IInterface *p, std::string_view name)
 simple function which check the existence of the property with the given name. More...
 
GAUDI_API Gaudi::Details::PropertyBasegetProperty (const IProperty *p, std::string_view name)
 simple function which gets the property with given name from the component More...
 
GAUDI_API Gaudi::Details::PropertyBasegetProperty (const IInterface *p, std::string_view name)
 simple function which gets the property with given name from the component More...
 
GAUDI_API bool hasProperty (const std::vector< const Gaudi::Details::PropertyBase * > *p, std::string_view name)
 check the property by name from the list of the properties More...
 
GAUDI_API const Gaudi::Details::PropertyBasegetProperty (const std::vector< const Gaudi::Details::PropertyBase * > *p, std::string_view name)
 get the property by name from the list of the properties More...
 
template<class TYPE >
StatusCode setProperty (IProperty *component, const std::string &name, const TYPE &value, const std::string &doc)
 simple function to set the property of the given object from the value More...
 
template<class TYPE >
StatusCode setProperty (IProperty *component, const std::string &name, const TYPE &value)
 simple function to set the property of the given object from the value More...
 
GAUDI_API StatusCode setProperty (IProperty *component, const std::string &name, const std::string &value, const std::string &doc="")
 the full specialization of the previous method setProperty( IProperty, std::string, const TYPE&) for standard strings More...
 
GAUDI_API StatusCode setProperty (IProperty *component, const std::string &name, const char *value, const std::string &doc="")
 the full specialization of the method setProperty( IProperty, std::string, const TYPE&) for C-strings More...
 
template<unsigned N>
StatusCode setProperty (IProperty *component, const std::string &name, const char(&value)[N], const std::string &doc="")
 the full specialization of the method setProperty( IProperty, std::string, const TYPE&) for C-arrays More...
 
GAUDI_API StatusCode setProperty (IProperty *component, const std::string &name, const Gaudi::Details::PropertyBase *property, const std::string &doc="")
 simple function to set the property of the given object from another property More...
 
GAUDI_API StatusCode setProperty (IProperty *component, const std::string &name, const Gaudi::Details::PropertyBase &property, const std::string &doc="")
 simple function to set the property of the given object from another property More...
 
template<class TYPE >
StatusCode setProperty (IProperty *component, const std::string &name, const Gaudi::Property< TYPE > &value, const std::string &doc="")
 simple function to set the property of the given object from another property More...
 
template<class TYPE >
StatusCode setProperty (IInterface *component, const std::string &name, const TYPE &value, const std::string &doc="")
 simple function to set the property of the given object from the value More...
 
GAUDI_API StatusCode setProperty (IInterface *component, const std::string &name, const std::string &value, const std::string &doc="")
 the full specialization of the method setProperty( IInterface , std::string, const TYPE&) for standard strings More...
 
GAUDI_API StatusCode setProperty (IInterface *component, const std::string &name, const char *value, const std::string &doc="")
 the full specialization of the method setProperty( IInterface , std::string, const TYPE&) for C-strings More...
 
template<unsigned N>
StatusCode setProperty (IInterface *component, const std::string &name, const char(&value)[N], const std::string &doc="")
 the full specialization of the method setProperty( IInterface, std::string, const TYPE&) for C-arrays More...
 
GAUDI_API StatusCode setProperty (IInterface *component, const std::string &name, const Gaudi::Details::PropertyBase *property, const std::string &doc="")
 simple function to set the property of the given object from another property More...
 
GAUDI_API StatusCode setProperty (IInterface *component, const std::string &name, const Gaudi::Details::PropertyBase &property, const std::string &doc="")
 simple function to set the property of the given object from another property More...
 
template<class TYPE >
StatusCode setProperty (IInterface *component, const std::string &name, const Gaudi::Property< TYPE > &value, const std::string &doc="")
 simple function to set the property of the given object from another property More...
 
AttribStringParser::Iterator begin (const AttribStringParser &parser)
 
AttribStringParser::Iterator end (const AttribStringParser &)
 
template<class ITERATOR >
std::ostreamtoStream (ITERATOR first, ITERATOR last, std::ostream &s, const std::string &open, const std::string &close, const std::string &delim)
 the helper function to print the sequence More...
 
template<class TYPE , std::size_t N>
std::ostreamtoStream (const boost::array< TYPE, N > &obj, std::ostream &s)
 printout of class boost::array The format is "Python's tuple" More...
 
GAUDI_API std::ostreamtoStream (const DataHandle &v, std::ostream &o)
 
bool iequal (std::string_view v1, std::string_view v2)
 Helper for case insensitive string comparison. More...
 
GAUDI_API std::ostreamtoStream (const Gaudi::StringKey &key, std::ostream &s)
 send the object to stream (needed to use it as property) More...
 
template<class SCALAR >
std::ostreamtoStream (const SCALAR &, std::ostream &)
 
template<class SCALAR , unsigned int N>
std::ostreamtoStream (const ROOT::Math::SVector< SCALAR, N > &obj, std::ostream &s)
 the general streaming function for SVector using python-tupel format More...
 
template<class TYPE >
std::ostreamtoStream (const TYPE &obj, std::ostream &s)
 the generic implementation of the printout to the std::ostream More...
 
std::ostreamtoStream (const std::string &obj, std::ostream &s)
 the printtout of the strings. More...
 
std::ostreamtoStream (const bool obj, std::ostream &s)
 the printout of boolean values "a'la Python" More...
 
std::ostreamtoStream (const float obj, std::ostream &s, const int prec=6)
 the printout of float values with the reasonable precision More...
 
std::ostreamtoStream (const double obj, std::ostream &s, const int prec=8)
 the printout of double values with the reasonable precision More...
 
std::ostreamtoStream (const long double obj, std::ostream &s, const int prec=10)
 the printout of long double values with the reasonable precision More...
 
template<class KTYPE , class VTYPE >
std::ostreamtoStream (const std::pair< KTYPE, VTYPE > &obj, std::ostream &s)
 the partial template specialization of std::pair<KTYPE,VTYPE> printout the pair is printed a'la Python tuple: " ( a , b )" More...
 
template<class TYPE , class ALLOCATOR >
std::ostreamtoStream (const std::vector< TYPE, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::vector<TYPE,ALLOCATOR> printout. More...
 
template<class TYPE , class ALLOCATOR >
std::ostreamtoStream (const std::list< TYPE, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::list<TYPE,ALLOCATOR> printout. More...
 
template<class TYPE , class CMP , class ALLOCATOR >
std::ostreamtoStream (const std::set< TYPE, CMP, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::set<TYPE,CMP,ALLOCATOR> printout. More...
 
template<class TYPE , class HASH , class CMP , class ALLOCATOR >
std::ostreamtoStream (const std::unordered_set< TYPE, HASH, CMP, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::unordered_set<TYPE,HASH,CMP,ALLOCATOR> printout. More...
 
template<class KTYPE , class VTYPE , class CMP , class ALLOCATOR >
std::ostreamtoStream (const std::map< KTYPE, VTYPE, CMP, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::map<KTYPE,VTYPE,CMP,ALLOCATOR> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )" More...
 
template<class KTYPE , class VTYPE , class CMP , class ALLOCATOR >
std::ostreamtoStream (const GaudiUtils::VectorMap< KTYPE, VTYPE, CMP, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of GaudiUtils::VectorMap<KTYPE,VTYPE,CMP,ALLOCATOR> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )" More...
 
template<class KTYPE , class VTYPE , class MAP >
std::ostreamtoStream (const GaudiUtils::Map< KTYPE, VTYPE, MAP > &obj, std::ostream &s)
 the partial template specialization of GaudiUtils::Map<KTYPE,VTYPE,MAP> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )" More...
 
template<class KTYPE , class VTYPE , class HASH , class MAP >
std::ostreamtoStream (const GaudiUtils::HashMap< KTYPE, VTYPE, HASH, MAP > &obj, std::ostream &s)
 the partial template specialization of GaudiUtils::HashMap<KTYPE,VTYPE,HASH,MAP> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )" More...
 
template<class TYPE , unsigned int N>
std::ostreamtoStream (const TYPE(&obj)[N], std::ostream &s)
 the specialization for C-arrays, a'la python tuple More...
 
template<class TYPE , std::size_t N>
std::ostreamtoStream (const std::array< TYPE, N > &obj, std::ostream &s)
 the specialization for std::array, a'la python tuple More...
 
template<unsigned int N>
std::ostreamtoStream (const char(&obj)[N], std::ostream &s)
 the specialization for C-string, a'la python tuple More...
 
std::ostreamtoStream (const char *obj, std::ostream &s)
 the specialization for C-string, a'la python tuple More...
 
template<typename... Args>
std::ostreamtoStream (const std::tuple< Args... > &tuple, std::ostream &s)
 the helper function to print the tuple More...
 
template<class TYPE >
std::string toString (const TYPE &obj)
 the generic implementation of the type conversion to the string More...
 
std::ostreamoperator<< (std::ostream &s, const TypeNameString &tn)
 Output stream operator for TypeNameString instances. More...
 
GAUDI_API std::ostreamtoStream (const Gaudi::XYZPoint &obj, std::ostream &s)
 print XYZ point More...
 
GAUDI_API std::ostreamtoStream (const Gaudi::XYZVector &obj, std::ostream &s)
 print XYZ vector More...
 
GAUDI_API std::ostreamtoStream (const Gaudi::LorentzVector &obj, std::ostream &s)
 print Lorentz vector More...
 
GAUDI_API std::ostreamtoStream (const std::vector< const Gaudi::ParticleProperty * > &particles, std::ostream &stream)
 print a list of particle properties as formatted table More...
 
GAUDI_API std::ostreamtoStream (const TH1D &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream More...
 
GAUDI_API std::ostreamtoStream (const TH2D &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream More...
 
GAUDI_API std::ostreamtoStream (const TH3D &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream More...
 
GAUDI_API std::ostreamtoStream (const TH1F &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream More...
 
GAUDI_API std::ostreamtoStream (const TH2F &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream More...
 
GAUDI_API std::ostreamtoStream (const TH3F &histo, std::ostream &stream, const bool asXML=false)
 stream the AIDA histogram into output stream More...
 
GAUDI_API std::ostreamtoStream (const AIDA::IHistogram1D &histo, std::ostream &stream, const bool asXML=false)
 stream the AIDA histogram into output stream More...
 
GAUDI_API std::ostreamtoStream (const AIDA::IHistogram2D &histo, std::ostream &stream, const bool asXML=false)
 stream the AIDA histogram into output stream More...
 
GAUDI_API std::ostreamtoStream (const AIDA::IHistogram3D &histo, std::ostream &stream, const bool asXML=false)
 stream the AIDA histogram into output stream More...
 
GAUDI_API std::string toString (const TH1D &histo, const bool asXML=false)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const TH2D &histo, const bool asXML=false)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const TH3D &histo, const bool asXML=false)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const TH1F &histo, const bool asXML=false)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const TH2F &histo, const bool asXML=false)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const TH3F &histo, const bool asXML=false)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const AIDA::IHistogram1D &histo, const bool asXML=false)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const AIDA::IHistogram2D &histo, const bool asXML=false)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const AIDA::IHistogram3D &histo, const bool asXML=false)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const AIDA::IHistogram1D *histo)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (AIDA::IHistogram1D *histo)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const TH1D *histo)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (TH1D *histo)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const TH2D *histo)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (TH2D *histo)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (const TH3D *histo)
 convert the histogram into the string More...
 
GAUDI_API std::string toString (TH3D *histo)
 convert the histogram into the string More...
 

Function Documentation

◆ begin()

AttribStringParser::Iterator Gaudi::Utils::begin ( const AttribStringParser parser)
inline

Definition at line 136 of file AttribStringParser.h.

136  {
137  return AttribStringParser::Iterator( parser.parse(), parser.m_expandVars );
138  }

◆ end()

AttribStringParser::Iterator Gaudi::Utils::end ( const AttribStringParser )
inline

Definition at line 139 of file AttribStringParser.h.

139  {
141  }

◆ getAlgorithm() [1/2]

IAlgorithm * Gaudi::Utils::getAlgorithm ( const IAlgContextSvc svc,
const AlgSelector sel 
)

simple function to get the algorithm from Context Service

// get the selector
const AlgSelector& selector = ... ;
// get the context service:
const IAlgContextSvc* svc = ... ;
// get the appropriate algorithm:
IAlgorithm* alg = getAlgorithm ( svc , selector ) ;
See also
IAlgContextSvc
Gaudi::Utils::AlgSelector
Parameters
svcpointer to Algororithm Contetx Service
selthe selection functor
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-09-07

Definition at line 34 of file GetAlg.cpp.

34  {
35  return svc ? getAlgorithm( svc->algorithms(), sel ) : nullptr;
36 }

◆ getAlgorithm() [2/2]

IAlgorithm * Gaudi::Utils::getAlgorithm ( const std::vector< IAlgorithm * > &  lst,
const AlgSelector sel 
)

simple function to get the algorithm from Context Service

// get the selector
const AlgSelector& selector = ... ;
// get the list of algorithms:
// get the appropriate algorithm:
IAlgorithm* alg = getAlgorithm ( algs , selector ) ;
See also
IAlgContextSvc
Gaudi::Utils::AlgSelector
Parameters
lstlist of the algorithms
selthe selection functor
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-09-07

Definition at line 40 of file GetAlg.cpp.

40  {
41  auto it = std::find_if( lst.rbegin(), lst.rend(), std::cref( sel ) );
42  return it != lst.rend() ? *it : nullptr;
43 }

◆ getFromTS()

template<class TYPE , std::enable_if_t<!std::is_constructible_v< TYPE >, void * > = nullptr>
_GetType< TYPE >::return_type Gaudi::Utils::getFromTS ( IDataProviderSvc service,
std::string_view  location 
)

Helper function to provide the minimal lookup and cast functionality of SmartDataPtr used in the helper classes.

This version is dealing with the general case, where AnyDataWrapper cannot be used

This version allows the use of AnyDataWrapper but restricts to the case where TYPE is constructible

Definition at line 79 of file GetData.h.

79  {
80  DataObject* obj = nullptr;
81  // Return the casted pointer if the retrieve was successful or nullptr otherwise.
82  return service->retrieveObject( location, obj ).isSuccess()
83  ? dynamic_cast<typename _GetType<TYPE>::return_type>( obj )
84  : nullptr;
85  }

◆ getGaudiAlg()

GaudiAlgorithm * Gaudi::Utils::getGaudiAlg ( const IAlgContextSvc svc)

simple function to extract the last active GaudiAlgorithm from the context

// get the context service:
const IAlgContextSvc* svc = ... ;
GaudiAlgorithm* ga = getGaudiAlg ( svc ) ;
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-09-07

Definition at line 69 of file GetAlgs.cpp.

69 { return getAlg<GaudiAlgorithm>( svc ); }

◆ getGaudiSequencer()

GaudiSequencer * Gaudi::Utils::getGaudiSequencer ( const IAlgContextSvc svc)

simple function to extract the last active GaudiSequencer from the context

// get the context service:
const IAlgContextSvc* svc = ... ;
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-09-07

Definition at line 123 of file GetAlgs.cpp.

123 { return getAlg<GaudiSequencer>( svc ); }

◆ getHistoAlg()

GaudiHistoAlg * Gaudi::Utils::getHistoAlg ( const IAlgContextSvc svc)

simple function to extract the last active GaudiHistoAlg from the context

// get the context service:
const IAlgContextSvc* svc = ... ;
GaudiHistoAlg* ha = getHistoAlg ( svc ) ;
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-09-07

Definition at line 87 of file GetAlgs.cpp.

87 { return getAlg<GaudiHistoAlg>( svc ); }

◆ getProperty() [1/3]

PropertyBase * Gaudi::Utils::getProperty ( const IInterface p,
std::string_view  name 
)

simple function which gets the property with given name from the component

const IInterface* p = ... ;
const Gaudi::Details::PropertyBase* pro = getProperty( p , "Context" ) ;
Parameters
ppointer to IInterface object
nameproperty name (case insensitive)
Returns
property with the given name (if exists), NULL otherwise
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 242 of file Property.cpp.

242  {
243  // trivial check
244  if ( !p ) { return nullptr; } // RETURN
245  // remove const-qualifier
246  IInterface* _i = const_cast<IInterface*>( p );
247  if ( !_i ) { return nullptr; } // RETURN
248  SmartIF<IProperty> property( _i );
249  return property ? getProperty( property, name ) : nullptr;
250 }

◆ getProperty() [2/3]

PropertyBase * Gaudi::Utils::getProperty ( const IProperty p,
std::string_view  name 
)

simple function which gets the property with given name from the component

const IProperty* p = ... ;
const Gaudi::Details::PropertyBase* pro = getProperty( p , "Context" ) ;
Parameters
ppointer to IProperty object
nameproperty name (case insensitive)
Returns
property with the given name (if exists), NULL otherwise
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 214 of file Property.cpp.

214  {
215  // trivial check
216  if ( !p ) { return nullptr; } // RETURN
217  // get all properties
218  const auto& props = p->getProperties();
219  // comparison criteria:
220  auto ifound = std::find_if( props.begin(), props.end(), is_iByName( name ) );
221  return ifound != props.end() ? *ifound : nullptr;
222 }

◆ getProperty() [3/3]

const PropertyBase * Gaudi::Utils::getProperty ( const std::vector< const Gaudi::Details::PropertyBase * > *  p,
std::string_view  name 
)

get the property by name from the list of the properties

IJobOptionsSvc* svc = ... ;
const std::string client = ... ;
// get the property:
getProperty ( svc->getProperties( client ) , "Context" )
See also
IJobOptionsSvc
Parameters
plist of properties
nameproperty name (case insensitive)
Returns
property with the given name (if exists), NULL otherwise
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 302 of file Property.cpp.

302  {
303  // trivial check
304  if ( !p ) { return nullptr; } // RETURN
305  auto ifound = std::find_if( p->begin(), p->end(), is_iByName( name ) );
306  return p->end() != ifound ? *ifound : nullptr; // RETURN
307 }

◆ getSequencer()

IAlgorithm * Gaudi::Utils::getSequencer ( const IAlgContextSvc svc)

simple function to extract the last active "Sequencer" () GaudiSequencer or simple Sequencer) from the context

// get the context service:
const IAlgContextSvc* svc = ... ;
IAlgorithm* a = getSequencer ( svc ) ;
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-09-07

Definition at line 159 of file GetAlgs.cpp.

159  {
160  if ( !svc ) { return nullptr; } // RETURN
161  //
162  AlgTypeSelector<GaudiSequencer> sel1;
163  AlgTypeSelector<Sequencer> sel2;
164 
165  const auto& algs = svc->algorithms();
166  auto a = std::find_if( algs.rbegin(), algs.rend(), [&]( IAlgorithm* alg ) { return sel1( alg ) || sel2( alg ); } );
167  return a != algs.rend() ? *a : nullptr;
168 }

◆ getSequencerAlg()

Sequencer * Gaudi::Utils::getSequencerAlg ( const IAlgContextSvc svc)

simple function to extract the last active Sequencer from the context

// get the context service:
const IAlgContextSvc* svc = ... ;
Sequencer* sa = getSequencerAlg ( svc ) ;
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-09-07

Definition at line 140 of file GetAlgs.cpp.

140 { return getAlg<Sequencer>( svc ); }

◆ getTupleAlg()

GaudiTupleAlg * Gaudi::Utils::getTupleAlg ( const IAlgContextSvc svc)

simple function to extract the last active GaudiTupleAlg from the context

// get the context service:
const IAlgContextSvc* svc = ... ;
GaudiTupleAlg* ta = getTupleAlg ( svc ) ;
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-09-07

Definition at line 105 of file GetAlgs.cpp.

105 { return getAlg<GaudiTupleAlg>( svc ); }

◆ hasProperty() [1/3]

bool Gaudi::Utils::hasProperty ( const IInterface p,
std::string_view  name 
)

simple function which check the existence of the property with the given name.

IInterface* p = .
const bool = hasProperty( p , "Context" ) ;
Parameters
ppointer to IInterface object (any component)
nameproperty name (case insensitive)
Returns
true if "p" has a property with such name
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 83 of file Property.cpp.

83  {
84  // delegate to another method after trivial check
85  return p && getProperty( p, name );
86 }

◆ hasProperty() [2/3]

bool Gaudi::Utils::hasProperty ( const IProperty p,
std::string_view  name 
)

simple function which check the existence of the property with the given name.

const IProperty* p = ... ;
const bool = hasProperty( p , "Context" ) ;
Parameters
ppointer to IProperty object
nameproperty name (case insensitive)
Returns
true if "p" has a property with such name
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 106 of file Property.cpp.

106  {
107  // delegate the actual work to another method ;
108  return p && p->hasProperty( name );
109 }

◆ hasProperty() [3/3]

bool Gaudi::Utils::hasProperty ( const std::vector< const Gaudi::Details::PropertyBase * > *  p,
std::string_view  name 
)

check the property by name from the list of the properties

IJobOptionsSvc* svc = ... ;
const std::string client = ... ;
// get the property:
bool context =
hasProperty ( svc->getProperties( client ) , "Context" )
See also
IJobOptionsSvc
Parameters
plist of properties
nameproperty name (case insensitive)
Returns
true if the property exists
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 275 of file Property.cpp.

275  {
276  // delegate to another method
277  return getProperty( p, name );
278 }

◆ iequal()

bool Gaudi::Utils::iequal ( std::string_view  v1,
std::string_view  v2 
)
inline

Helper for case insensitive string comparison.

Definition at line 55 of file PropertyHolder.h.

55  {
56  return std::equal( begin( v1 ), end( v1 ), begin( v2 ), end( v2 ),
57  []( char c1, char c2 ) { return toupper( c1 ) == toupper( c2 ); } );
58  }

◆ operator<<()

std::ostream& Gaudi::Utils::operator<< ( std::ostream s,
const TypeNameString tn 
)
inline

Output stream operator for TypeNameString instances.

Definition at line 54 of file TypeNameString.h.

54  {
55  return s << tn.type() << '/' << tn.name();
56  }

◆ setProperty() [1/15]

StatusCode Gaudi::Utils::setProperty ( IInterface component,
const std::string name,
const char *  value,
const std::string doc = "" 
)

the full specialization of the method setProperty( IInterface , std::string, const TYPE&) for C-strings

Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
docthe new documentation string
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 445 of file Property.cpp.

446  {
447  return setProperty( component, name, std::string{ value }, doc );
448 }

◆ setProperty() [2/15]

template<unsigned N>
StatusCode Gaudi::Utils::setProperty ( IInterface component,
const std::string name,
const char(&)  value[N],
const std::string doc = "" 
)

the full specialization of the method setProperty( IInterface, std::string, const TYPE&) for C-arrays

Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 1069 of file Property.h.

1070  {
1071  if ( 0 == component ) { return StatusCode::FAILURE; }
1072  return setProperty( component, name, std::string{ value, value + N }, doc );
1073  }

◆ setProperty() [3/15]

StatusCode Gaudi::Utils::setProperty ( IInterface component,
const std::string name,
const Gaudi::Details::PropertyBase property,
const std::string doc = "" 
)

simple function to set the property of the given object from another property

IInterface* component = ... ;
const Gaudi::Details::PropertyBase& prop = ... ;
StatusCode sc = setProperty ( component , "Data" , prop ) ;
Parameters
componentcomponent which needs to be configured
namename of the property
propertythe property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 502 of file Property.cpp.

503  {
504  return setProperty( component, name, &property, doc );
505 }

◆ setProperty() [4/15]

StatusCode Gaudi::Utils::setProperty ( IInterface component,
const std::string name,
const Gaudi::Details::PropertyBase property,
const std::string doc = "" 
)

simple function to set the property of the given object from another property

IInterface* component = ... ;
const Gaudi::Details::PropertyBase* prop = ... ;
StatusCode sc = setProperty ( component , "Data" , prop ) ;
Parameters
componentcomponent which needs to be configured
namename of the property
propertythe property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 472 of file Property.cpp.

473  {
474  if ( !component ) { return StatusCode::FAILURE; }
475  SmartIF<IProperty> prop( component );
476  if ( !prop ) { return StatusCode::FAILURE; }
477  return setProperty( prop, name, property, doc );
478 }

◆ setProperty() [5/15]

template<class TYPE >
StatusCode Gaudi::Utils::setProperty ( IInterface component,
const std::string name,
const Gaudi::Property< TYPE > &  value,
const std::string doc = "" 
)

simple function to set the property of the given object from another property

IInterface* component = ... ;
StatusCode sc = setProperty ( component , "Data" , prop ) ;
Parameters
componentcomponent which needs to be configured
namename of the property
valuethe property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 1146 of file Property.h.

1147  {
1148  return setProperty( component, name, &value, doc );
1149  }

◆ setProperty() [6/15]

StatusCode Gaudi::Utils::setProperty ( IInterface component,
const std::string name,
const std::string value,
const std::string doc = "" 
)

the full specialization of the method setProperty( IInterface , std::string, const TYPE&) for standard strings

Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
docthe new documentation string
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 425 of file Property.cpp.

426  {
427  if ( !component ) { return StatusCode::FAILURE; }
428  SmartIF<IProperty> property( component );
429  return property ? setProperty( property, name, value, doc ) : StatusCode::FAILURE;
430 }

◆ setProperty() [7/15]

template<class TYPE >
StatusCode Gaudi::Utils::setProperty ( IInterface component,
const std::string name,
const TYPE &  value,
const std::string doc = "" 
)

simple function to set the property of the given object from the value

IInterface* component = ... ;
std::vector<double> data = ... ;
StatusCode sc = setProperty ( component , "Data" , data ) ;
Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 1018 of file Property.h.

1019  {
1020  if ( !component ) { return StatusCode::FAILURE; }
1021  auto property = SmartIF<IProperty>{ component };
1022  return property ? setProperty( property, name, value, doc ) : StatusCode::FAILURE;
1023  }

◆ setProperty() [8/15]

StatusCode Gaudi::Utils::setProperty ( IProperty component,
const std::string name,
const char *  value,
const std::string doc = "" 
)

the full specialization of the method setProperty( IProperty, std::string, const TYPE&) for C-strings

Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 323 of file Property.cpp.

324  {
325  return Gaudi::Utils::setProperty( component, name, std::string{ value }, doc );
326 }

◆ setProperty() [9/15]

template<unsigned N>
StatusCode Gaudi::Utils::setProperty ( IProperty component,
const std::string name,
const char(&)  value[N],
const std::string doc = "" 
)

the full specialization of the method setProperty( IProperty, std::string, const TYPE&) for C-arrays

Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 878 of file Property.h.

879  {
880  return component ? setProperty( component, name, std::string( value, value + N ), doc ) : StatusCode::FAILURE;
881  }

◆ setProperty() [10/15]

StatusCode Gaudi::Utils::setProperty ( IProperty component,
const std::string name,
const Gaudi::Details::PropertyBase property,
const std::string doc = "" 
)

simple function to set the property of the given object from another property

IProperty* component = ... ;
const Gaudi::Details::PropertyBase& prop = ... ;
StatusCode sc = setProperty ( component , "Data" , prop ) ;
Parameters
componentcomponent which needs to be configured
namename of the property
propertythe property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 407 of file Property.cpp.

408  {
409  return setProperty( component, name, &property, doc );
410 }

◆ setProperty() [11/15]

StatusCode Gaudi::Utils::setProperty ( IProperty component,
const std::string name,
const Gaudi::Details::PropertyBase property,
const std::string doc = "" 
)

simple function to set the property of the given object from another property

IProperty* component = ... ;
const Gaudi::Details::PropertyBase* prop = ... ;
StatusCode sc = setProperty ( component , "Data" , prop ) ;
Parameters
componentcomponent which needs to be configured
namename of the property
propertythe property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 376 of file Property.cpp.

377  {
378  if ( !component || !property ) return StatusCode::FAILURE;
379  PropertyBase* p = getProperty( component, name );
380  if ( !p || !p->assign( *property ) ) return StatusCode::FAILURE;
381  if ( !doc.empty() ) { p->setDocumentation( doc ); }
382  return StatusCode::SUCCESS;
383 }

◆ setProperty() [12/15]

template<class TYPE >
StatusCode Gaudi::Utils::setProperty ( IProperty component,
const std::string name,
const Gaudi::Property< TYPE > &  value,
const std::string doc = "" 
)

simple function to set the property of the given object from another property

IProperty* component = ... ;
StatusCode sc = setProperty ( component , "Data" , prop ) ;
Parameters
componentcomponent which needs to be configured
namename of the property
valuethe property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 992 of file Property.h.

993  {
994  return setProperty( component, name, &value, doc );
995  }

◆ setProperty() [13/15]

StatusCode Gaudi::Utils::setProperty ( IProperty component,
const std::string name,
const std::string value,
const std::string doc = "" 
)

the full specialization of the previous method setProperty( IProperty, std::string, const TYPE&) for standard strings

Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 341 of file Property.cpp.

342  {
343  if ( !component ) { return StatusCode::FAILURE; } // RETURN
344  if ( !component->hasProperty( name ) ) { return StatusCode::FAILURE; }
345  StatusCode sc = component->setPropertyRepr( name, value );
346  if ( !doc.empty() ) {
347  PropertyBase* p = getProperty( component, name );
348  if ( p ) { p->setDocumentation( doc ); }
349  }
350  sc.ignore();
351  return sc;
352 }

◆ setProperty() [14/15]

template<class TYPE >
StatusCode Gaudi::Utils::setProperty ( IProperty component,
const std::string name,
const TYPE &  value 
)

simple function to set the property of the given object from the value

IProperty* component = ... ;
std::vector<double> data = ... ;
StatusCode sc = setProperty ( componet , "Data" , data ) ;

Note: the interface IProperty allows setting of the properties either directly from other properties or from strings only

Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 828 of file Property.h.

828  {
829  return setProperty( component, name, value, std::string() );
830  }

◆ setProperty() [15/15]

template<class TYPE >
StatusCode Gaudi::Utils::setProperty ( IProperty component,
const std::string name,
const TYPE &  value,
const std::string doc 
)

simple function to set the property of the given object from the value

IProperty* component = ... ;
std::vector<double> data = ... ;
StatusCode sc = setProperty ( componet , "Data" , data ) ;

Note: the interface IProperty allows setting of the properties either directly from other properties or from strings only

Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13
IProperty* component = ... ;
std::vector<double> data = ... ;
StatusCode sc = setProperty ( component , "Data" , data ) ;
sc = setProperty ( component , "Cuts" , cuts ) ;
sc = setProperty ( component , "Dictionary" , dict ) ;

Note: the native interface IProperty allows setting of the properties either directly from other properties or from strings only

Parameters
componentcomponent which needs to be configured
namename of the property
valuevalue of the property
docthe new documentation string
See also
IProperty
Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-05-13

Definition at line 914 of file Property.h.

914  {
916  return component && hasProperty( component, name )
917  ? Gaudi::Utils::setProperty( component, name, toString( value ), doc )
918  : StatusCode::FAILURE;
919  }

◆ toStream() [1/39]

std::ostream & Gaudi::Utils::toStream ( const AIDA::IHistogram1D &  histo,
std::ostream stream,
const bool  asXML = false 
)

stream the AIDA histogram into output stream

Parameters
histo(INPUT) the histogram to be streamed
stream(OUTPUT) the stream
asXML(INPUT) use XML-format
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 326 of file Histo2String.cpp.

326  {
327  auto root = Gaudi::Utils::Aida2ROOT::aida2root( &histo );
328  return root ? toStream( *root, stream, asXML ) : stream;
329 }

◆ toStream() [2/39]

std::ostream & Gaudi::Utils::toStream ( const AIDA::IHistogram2D &  histo,
std::ostream stream,
const bool  asXML = false 
)

stream the AIDA histogram into output stream

Parameters
histo(INPUT) the histogram to be streamed
stream(OUTPUT) the stream
asXML(INPUT) use XML-format
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 337 of file Histo2String.cpp.

337  {
338  //
339  auto root = Gaudi::Utils::Aida2ROOT::aida2root( &histo );
340  return root ? toStream( *root, stream, asXML ) : stream;
341 }

◆ toStream() [3/39]

std::ostream & Gaudi::Utils::toStream ( const AIDA::IHistogram3D &  histo,
std::ostream stream,
const bool  asXML = false 
)

stream the AIDA histogram into output stream

Parameters
histo(INPUT) the histogram to be streamed
stream(OUTPUT) the stream
asXML(INPUT) use XML-format
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 349 of file Histo2String.cpp.

349  {
350  //
351  auto root = Gaudi::Utils::Aida2ROOT::aida2root( &histo );
352  return root ? toStream( *root, stream, asXML ) : stream;
353 }

◆ toStream() [4/39]

std::ostream& Gaudi::Utils::toStream ( const bool  obj,
std::ostream s 
)
inline

the printout of boolean values "a'la Python"

Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 90 of file ToStream.h.

90 { return s << ( obj ? "True" : "False" ); }

◆ toStream() [5/39]

template<class TYPE , std::size_t N>
std::ostream& Gaudi::Utils::toStream ( const boost::array< TYPE, N > &  obj,
std::ostream s 
)
inline

printout of class boost::array The format is "Python's tuple"

Parameters
obj(INPUT) the arary to be printed
s(UPDATE) the actual stream
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-16

Definition at line 57 of file BoostArrayAsProperty.h.

57  {
58  return toStream( obj.begin(), obj.end(), s, "( ", " )", " , " );
59  }

◆ toStream() [6/39]

std::ostream& Gaudi::Utils::toStream ( const char *  obj,
std::ostream s 
)
inline

the specialization for C-string, a'la python tuple

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-10-05

Definition at line 276 of file ToStream.h.

276 { return toStream( std::string( obj ), s ); }

◆ toStream() [7/39]

template<unsigned int N>
std::ostream& Gaudi::Utils::toStream ( const char(&)  obj[N],
std::ostream s 
)

the specialization for C-string, a'la python tuple

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-10-05

Definition at line 268 of file ToStream.h.

268  {
269  return toStream( std::string( obj, obj + N ), s );
270  }

◆ toStream() [8/39]

std::ostream & Gaudi::Utils::toStream ( const DataHandle v,
std::ostream o 
)

Definition at line 30 of file DataHandleProperty.cpp.

30 { return o << v; }

◆ toStream() [9/39]

std::ostream& Gaudi::Utils::toStream ( const double  obj,
std::ostream s,
const int  prec = 8 
)
inline

the printout of double values with the reasonable precision

Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 103 of file ToStream.h.

103  {
104  const int p = static_cast<int>( s.precision() );
105  return s << std::setprecision( prec ) << obj << std::setprecision( p );
106  }

◆ toStream() [10/39]

std::ostream& Gaudi::Utils::toStream ( const float  obj,
std::ostream s,
const int  prec = 6 
)
inline

the printout of float values with the reasonable precision

Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 95 of file ToStream.h.

95  {
96  const int p = static_cast<int>( s.precision() );
97  return s << std::setprecision( prec ) << obj << std::setprecision( p );
98  }

◆ toStream() [11/39]

std::ostream & Gaudi::Utils::toStream ( const Gaudi::LorentzVector obj,
std::ostream s 
)

print Lorentz vector

Definition at line 138 of file ParsersVct.cpp.

138  {
139 
140  s << "( ";
141  toStream( obj.Px(), s, 12 );
142  s << " , ";
143  toStream( obj.Py(), s, 12 );
144  s << " , ";
145  toStream( obj.Pz(), s, 13 );
146  s << " , ";
147  toStream( obj.E(), s, 14 );
148  s << " )";
149 
150  return s;
151 }

◆ toStream() [12/39]

std::ostream & Gaudi::Utils::toStream ( const Gaudi::StringKey key,
std::ostream s 
)

send the object to stream (needed to use it as property)

See also
Gaudi::StringKey
Gaudi::Utils::toString
Gaudi::Utils::toStream
Parameters
key(INPUT) the object to be printed
s(OUTPUT) the stream
Returns
the stream
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 66 of file StringKey.cpp.

66  {
67  return Gaudi::Utils::toStream( key.str(), s );
68 }

◆ toStream() [13/39]

std::ostream & Gaudi::Utils::toStream ( const Gaudi::XYZPoint obj,
std::ostream s 
)

print XYZ point

Definition at line 111 of file ParsersVct.cpp.

111  {
112  s << "( ";
113  toStream( obj.X(), s );
114  s << " , ";
115  toStream( obj.Y(), s );
116  s << " , ";
117  toStream( obj.Z(), s );
118  s << " )";
119  return s;
120 }

◆ toStream() [14/39]

std::ostream & Gaudi::Utils::toStream ( const Gaudi::XYZVector obj,
std::ostream s 
)

print XYZ vector

Definition at line 124 of file ParsersVct.cpp.

124  {
125  s << "( ";
126  toStream( obj.X(), s );
127  s << " , ";
128  toStream( obj.Y(), s );
129  s << " , ";
130  toStream( obj.Z(), s );
131  s << " )";
132 
133  return s;
134 }

◆ toStream() [15/39]

template<class KTYPE , class VTYPE , class HASH , class MAP >
std::ostream& Gaudi::Utils::toStream ( const GaudiUtils::HashMap< KTYPE, VTYPE, HASH, MAP > &  obj,
std::ostream s 
)
inline

the partial template specialization of GaudiUtils::HashMap<KTYPE,VTYPE,HASH,MAP> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )"

See also
GaudiUtils::VectorMap
Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition at line 232 of file ToStream.h.

232  {
233  // Copy the hash map into a map to have it ordered by key.
234  return toStream( GaudiUtils::Map<KTYPE, VTYPE>{ obj.begin(), obj.end() }, s );
235  }

◆ toStream() [16/39]

template<class KTYPE , class VTYPE , class MAP >
std::ostream& Gaudi::Utils::toStream ( const GaudiUtils::Map< KTYPE, VTYPE, MAP > &  obj,
std::ostream s 
)
inline

the partial template specialization of GaudiUtils::Map<KTYPE,VTYPE,MAP> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )"

See also
GaudiUtils::VectorMap
Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition at line 214 of file ToStream.h.

214  {
216  return ostream_joiner( s << "{ ", obj, " , ",
218  return toStream( i.second, toStream( i.first, os ) << " : " );
219  } )
220  << " }";
221  }

◆ toStream() [17/39]

template<class KTYPE , class VTYPE , class CMP , class ALLOCATOR >
std::ostream& Gaudi::Utils::toStream ( const GaudiUtils::VectorMap< KTYPE, VTYPE, CMP, ALLOCATOR > &  obj,
std::ostream s 
)
inline

the partial template specialization of GaudiUtils::VectorMap<KTYPE,VTYPE,CMP,ALLOCATOR> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )"

See also
GaudiUtils::VectorMap
Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition at line 196 of file ToStream.h.

196  {
198  return ostream_joiner( s << "{ ", obj, " , ",
200  return toStream( i.second, toStream( i.first, os ) << " : " );
201  } )
202  << " }";
203  }

◆ toStream() [18/39]

std::ostream& Gaudi::Utils::toStream ( const long double  obj,
std::ostream s,
const int  prec = 10 
)
inline

the printout of long double values with the reasonable precision

Author
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-09-09

Definition at line 111 of file ToStream.h.

111  {
112  const int p = static_cast<int>( s.precision() );
113  return s << std::setprecision( prec ) << obj << std::setprecision( p );
114  }

◆ toStream() [19/39]

template<class SCALAR , unsigned int N>
std::ostream& Gaudi::Utils::toStream ( const ROOT::Math::SVector< SCALAR, N > &  obj,
std::ostream s 
)

the general streaming function for SVector using python-tupel format

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 87 of file SVectorAsProperty.h.

87  {
88  s << "( ";
89  for ( auto cur = obj.begin(); obj.end() != cur; ++cur ) {
90  if ( obj.begin() != cur ) { s << " , "; }
91  toStream( *cur, s );
92  }
93  return s << " )";
94  }

◆ toStream() [20/39]

template<class SCALAR >
std::ostream& Gaudi::Utils::toStream ( const SCALAR &  ,
std::ostream  
)

◆ toStream() [21/39]

template<class TYPE , std::size_t N>
std::ostream& Gaudi::Utils::toStream ( const std::array< TYPE, N > &  obj,
std::ostream s 
)

the specialization for std::array, a'la python tuple

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-16

Definition at line 255 of file ToStream.h.

255  {
256  if constexpr ( N == 1 ) {
257  return toStream( obj[0], s << "( " ) << " , )";
258  } else {
259  return toStream( begin( obj ), end( obj ), s, "( ", " )", " , " );
260  }
261  }

◆ toStream() [22/39]

template<class TYPE , class ALLOCATOR >
std::ostream& Gaudi::Utils::toStream ( const std::list< TYPE, ALLOCATOR > &  obj,
std::ostream s 
)
inline

the partial template specialization of std::list<TYPE,ALLOCATOR> printout.

The vector is printed a'la Python list: "[ a, b, c ]"

Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2007-04-08

Definition at line 146 of file ToStream.h.

146  {
147  return toStream( obj.begin(), obj.end(), s, "[ ", " ]", " , " );
148  }

◆ toStream() [23/39]

template<class KTYPE , class VTYPE , class CMP , class ALLOCATOR >
std::ostream& Gaudi::Utils::toStream ( const std::map< KTYPE, VTYPE, CMP, ALLOCATOR > &  obj,
std::ostream s 
)
inline

the partial template specialization of std::map<KTYPE,VTYPE,CMP,ALLOCATOR> printout the map is printed a'la Python dict: " ( a : b , c: d , e : f )"

Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition at line 178 of file ToStream.h.

178  {
180  return ostream_joiner( s << "{ ", obj, " , ",
182  return toStream( i.second, toStream( i.first, os ) << " : " );
183  } )
184  << " }";
185  }

◆ toStream() [24/39]

template<class KTYPE , class VTYPE >
std::ostream& Gaudi::Utils::toStream ( const std::pair< KTYPE, VTYPE > &  obj,
std::ostream s 
)
inline

the partial template specialization of std::pair<KTYPE,VTYPE> printout the pair is printed a'la Python tuple: " ( a , b )"

Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition at line 124 of file ToStream.h.

124  {
125  return toStream( obj.second, toStream( obj.first, s << "( " ) << " , " ) << " )";
126  }

◆ toStream() [25/39]

template<class TYPE , class CMP , class ALLOCATOR >
std::ostream& Gaudi::Utils::toStream ( const std::set< TYPE, CMP, ALLOCATOR > &  obj,
std::ostream s 
)
inline

the partial template specialization of std::set<TYPE,CMP,ALLOCATOR> printout.

The vector is printed a'la Python list: "[ a, b, c ]"

Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition at line 157 of file ToStream.h.

157  {
158  return toStream( obj.begin(), obj.end(), s, "[ ", " ]", " , " );
159  }

◆ toStream() [26/39]

std::ostream& Gaudi::Utils::toStream ( const std::string obj,
std::ostream s 
)
inline

the printtout of the strings.

the string is printed a'la Python using the quotes

Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition at line 85 of file ToStream.h.

85 { return s << std::quoted( obj, '\'' ); }

◆ toStream() [27/39]

template<typename... Args>
std::ostream& Gaudi::Utils::toStream ( const std::tuple< Args... > &  tuple,
std::ostream s 
)
inline

the helper function to print the tuple

Parameters
tuple(INPUT) tuple
Returns
the stream
Author
Aleander Mazurov alexa.nosp@m.nder.nosp@m..mazu.nosp@m.rov@.nosp@m.cern..nosp@m.ch
Date
2015-03-21

Definition at line 337 of file ToStream.h.

337  {
338  auto& out = TuplePrinter<decltype( tuple ), sizeof...( Args )>::toStream( tuple, s << " ( " );
339  if constexpr ( std::tuple_size_v<std::tuple<Args...>> == 1 ) { // this is a special case in Python
340  out << " ,";
341  }
342  return out << " ) ";
343  }

◆ toStream() [28/39]

template<class TYPE , class HASH , class CMP , class ALLOCATOR >
std::ostream& Gaudi::Utils::toStream ( const std::unordered_set< TYPE, HASH, CMP, ALLOCATOR > &  obj,
std::ostream s 
)
inline

the partial template specialization of std::unordered_set<TYPE,HASH,CMP,ALLOCATOR> printout.

The set is printed a'la Python set: "{ a, b, c }"

Definition at line 165 of file ToStream.h.

165  {
166  auto ordered = std::set( obj.begin(), obj.end() ); // ensure reproducible printout
167  return obj.empty() ? s << "set()" : toStream( ordered.begin(), ordered.end(), s, "{ ", " }", " , " );
168  }

◆ toStream() [29/39]

std::ostream & Gaudi::Utils::toStream ( const std::vector< const Gaudi::ParticleProperty * > &  particles,
std::ostream stream 
)

print a list of particle properties as formatted table

See also
Gaudi::ParticleProperty
Parameters
particlesthe list of particle properties
streamthe reference to the output stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2008-08-03

Definition at line 346 of file ParticleProperty.cpp.

347  {
349 }

◆ toStream() [30/39]

template<class TYPE , class ALLOCATOR >
std::ostream& Gaudi::Utils::toStream ( const std::vector< TYPE, ALLOCATOR > &  obj,
std::ostream s 
)
inline

the partial template specialization of std::vector<TYPE,ALLOCATOR> printout.

The vector is printed a'la Python list: "[ a, b, c ]"

Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition at line 135 of file ToStream.h.

135  {
136  return toStream( obj.begin(), obj.end(), s, "[ ", " ]", " , " );
137  }

◆ toStream() [31/39]

std::ostream & Gaudi::Utils::toStream ( const TH1D &  histo,
std::ostream stream,
const bool  asXML = false 
)

stream the ROOT histogram into output stream

Parameters
histo(INPUT) the histogram to be streamed
stream(OUTPUT) the stream
asXML(INPUT) use XML-format
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 266 of file Histo2String.cpp.

266  {
267  return _toStream_1D_( histo, stream, asXML );
268 }

◆ toStream() [32/39]

std::ostream & Gaudi::Utils::toStream ( const TH1F &  histo,
std::ostream stream,
const bool  asXML = false 
)

stream the ROOT histogram into output stream

Parameters
histo(INPUT) the histogram to be streamed
stream(OUTPUT) the stream
asXML(INPUT) use XML-format
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 276 of file Histo2String.cpp.

276  {
277  return _toStream_1D_( histo, stream, asXML );
278 }

◆ toStream() [33/39]

std::ostream & Gaudi::Utils::toStream ( const TH2D &  histo,
std::ostream stream,
const bool  asXML = false 
)

stream the ROOT histogram into output stream

Parameters
histo(INPUT) the histogram to be streamed
stream(OUTPUT) the stream
asXML(INPUT) use XML-format
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 286 of file Histo2String.cpp.

286  {
287  return _toStream_2D_( histo, stream, asXML );
288 }

◆ toStream() [34/39]

std::ostream & Gaudi::Utils::toStream ( const TH2F &  histo,
std::ostream stream,
const bool  asXML = false 
)

stream the ROOT histogram into output stream

Parameters
histo(INPUT) the histogram to be streamed
stream(OUTPUT) the stream
asXML(INPUT) use XML-format
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 296 of file Histo2String.cpp.

296  {
297  return _toStream_2D_( histo, stream, asXML );
298 }

◆ toStream() [35/39]

std::ostream & Gaudi::Utils::toStream ( const TH3D &  histo,
std::ostream stream,
const bool  asXML = false 
)

stream the ROOT histogram into output stream

Parameters
histo(INPUT) the histogram to be streamed
stream(OUTPUT) the stream
asXML(INPUT) use XML-format
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 306 of file Histo2String.cpp.

306  {
307  return _toStream_3D_( histo, stream, asXML );
308 }

◆ toStream() [36/39]

std::ostream & Gaudi::Utils::toStream ( const TH3F &  histo,
std::ostream stream,
const bool  asXML = false 
)

stream the AIDA histogram into output stream

Parameters
histo(INPUT) the histogram to be streamed
stream(OUTPUT) the stream
asXML(INPUT) use XML-format
Returns
the updated stream
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 316 of file Histo2String.cpp.

316  {
317  return _toStream_3D_( histo, stream, asXML );
318 }

◆ toStream() [37/39]

template<class TYPE >
std::ostream & Gaudi::Utils::toStream ( const TYPE &  obj,
std::ostream s 
)
inline

the generic implementation of the printout to the std::ostream

Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12

Definition at line 284 of file ToStream.h.

284  {
285  return s << obj;
286  }

◆ toStream() [38/39]

template<class TYPE , unsigned int N>
std::ostream& Gaudi::Utils::toStream ( const TYPE(&)  obj[N],
std::ostream s 
)

the specialization for C-arrays, a'la python tuple

Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-10-05

Definition at line 242 of file ToStream.h.

242  {
243  if constexpr ( N == 1 ) {
244  return toStream( obj[0], s << "( " ) << " , )";
245  } else {
246  return toStream( obj, obj + N, s, "( ", " )", " , " );
247  }
248  }

◆ toStream() [39/39]

template<class ITERATOR >
std::ostream & Gaudi::Utils::toStream ( ITERATOR  first,
ITERATOR  last,
std::ostream s,
const std::string open,
const std::string close,
const std::string delim 
)
inline

the helper function to print the sequence

Parameters
first(INPUT) begin-iterator for the sequence
last(INPUT) end-iterator for the sequence
s(UPDATE) the stream itself
open(INPUT) "open"-symbol
close(INPUT) "close"-symbol
delim(INPUT) "delimiter"-symbol
Returns
the stream
Author
Vanya BELYAEV Ivan..nosp@m.BEly.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-15

Definition at line 300 of file ToStream.h.

306  {
307  using ref_t = typename std::iterator_traits<ITERATOR>::reference;
309  return ostream_joiner( s << open, first, last, delim,
310  []( std::ostream& os, ref_t i ) -> std::ostream& { return toStream( i, os ); } )
311  << close;
312  }

◆ toString() [1/18]

std::string Gaudi::Utils::toString ( AIDA::IHistogram1D *  histo)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 500 of file Histo2String.cpp.

500 { return histo ? toString( *histo ) : "{}"; }

◆ toString() [2/18]

std::string Gaudi::Utils::toString ( const AIDA::IHistogram1D &  histo,
const bool  asXML = false 
)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 448 of file Histo2String.cpp.

448  {
450  toStream( histo, o, asXML );
451  return o.str();
452 }

◆ toString() [3/18]

std::string Gaudi::Utils::toString ( const AIDA::IHistogram1D *  histo)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 490 of file Histo2String.cpp.

490 { return histo ? toString( *histo ) : "{}"; }

◆ toString() [4/18]

std::string Gaudi::Utils::toString ( const AIDA::IHistogram2D &  histo,
const bool  asXML = false 
)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 462 of file Histo2String.cpp.

462  {
464  toStream( histo, o, asXML );
465  return o.str();
466 }

◆ toString() [5/18]

std::string Gaudi::Utils::toString ( const AIDA::IHistogram3D &  histo,
const bool  asXML = false 
)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 476 of file Histo2String.cpp.

476  {
478  toStream( histo, o, asXML );
479  return o.str();
480 }

◆ toString() [6/18]

std::string Gaudi::Utils::toString ( const TH1D &  histo,
const bool  asXML = false 
)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 364 of file Histo2String.cpp.

364  {
366  toStream( histo, o, asXML );
367  return o.str();
368 }

◆ toString() [7/18]

std::string Gaudi::Utils::toString ( const TH1D *  histo)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 510 of file Histo2String.cpp.

510 { return histo ? toString( *histo ) : "{}"; }

◆ toString() [8/18]

std::string Gaudi::Utils::toString ( const TH1F &  histo,
const bool  asXML = false 
)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 378 of file Histo2String.cpp.

378  {
380  toStream( histo, o, asXML );
381  return o.str();
382 }

◆ toString() [9/18]

std::string Gaudi::Utils::toString ( const TH2D &  histo,
const bool  asXML = false 
)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 392 of file Histo2String.cpp.

392  {
394  toStream( histo, o, asXML );
395  return o.str();
396 }

◆ toString() [10/18]

std::string Gaudi::Utils::toString ( const TH2D *  histo)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 520 of file Histo2String.cpp.

520 { return histo ? toString( *histo ) : "{}"; }

◆ toString() [11/18]

std::string Gaudi::Utils::toString ( const TH2F &  histo,
const bool  asXML = false 
)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 406 of file Histo2String.cpp.

406  {
408  toStream( histo, o, asXML );
409  return o.str();
410 }

◆ toString() [12/18]

std::string Gaudi::Utils::toString ( const TH3D &  histo,
const bool  asXML = false 
)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 420 of file Histo2String.cpp.

420  {
422  toStream( histo, o, asXML );
423  return o.str();
424 }

◆ toString() [13/18]

std::string Gaudi::Utils::toString ( const TH3D *  histo)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 550 of file Histo2String.cpp.

550 { return histo ? toString( *histo ) : "{}"; }

◆ toString() [14/18]

std::string Gaudi::Utils::toString ( const TH3F &  histo,
const bool  asXML = false 
)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 434 of file Histo2String.cpp.

434  {
436  toStream( histo, o, asXML );
437  return o.str();
438 }

◆ toString() [15/18]

template<class TYPE >
std::string Gaudi::Utils::toString ( const TYPE &  obj)
inline

the generic implementation of the type conversion to the string

Author
Alexander MAZUROV Alexa.nosp@m.nder.nosp@m..Mazu.nosp@m.rov@.nosp@m.gmail.nosp@m..com
Vanya BELYAEV ibely.nosp@m.aev@.nosp@m.physi.nosp@m.cs.s.nosp@m.yr.ed.nosp@m.u
Date
2006-05-12
See also
Gaudi::Utils::toStream
Todo:
need to be compared with boost::lexical_cast

Definition at line 354 of file ToStream.h.

354  {
356  std::ios::fmtflags orig_flags = s.flags();
357  s.setf( std::ios::showpoint ); // to display correctly floats
358  toStream( obj, s );
359  s.flags( orig_flags );
360  return s.str();
361  }

◆ toString() [16/18]

std::string Gaudi::Utils::toString ( TH1D *  histo)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 530 of file Histo2String.cpp.

530 { return histo ? toString( *histo ) : "{}"; }

◆ toString() [17/18]

std::string Gaudi::Utils::toString ( TH2D *  histo)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 540 of file Histo2String.cpp.

540 { return histo ? toString( *histo ) : "{}"; }

◆ toString() [18/18]

std::string Gaudi::Utils::toString ( TH3D *  histo)

convert the histogram into the string

Parameters
histo(INPUT) the histogram to be streamed
asXML(INPUT) use XML-format
Returns
the string representation of the histogram
Author
Vanya BELYAEV Ivan..nosp@m.Bely.nosp@m.aev@n.nosp@m.ikhe.nosp@m.f.nl
Date
2009-09-26

Definition at line 560 of file Histo2String.cpp.

560 { return histo ? toString( *histo ) : "{}"; }
GaudiPython.Bindings.FAILURE
FAILURE
Definition: Bindings.py:84
Gaudi::Details::PropertyBase
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Definition: PropertyBase.h:35
std::setprecision
T setprecision(T... args)
toupper
void toupper(std::string &s)
Definition: ExceptionSvc.cpp:36
Write.stream
stream
Definition: Write.py:32
std::string
STL class.
std::equal
T equal(T... args)
IOTest.N
N
Definition: IOTest.py:110
Sequencer
Definition: GaudiAlg_entries.cpp:22
setProperty
bool PyHelper() setProperty(IInterface *p, char *name, char *value)
Definition: Bootstrap.cpp:244
GaudiAlg.HistoUtils.location
location
Definition: HistoUtils.py:964
bug_34121.name
name
Definition: bug_34121.py:20
Gaudi::Utils::getSequencerAlg
GAUDI_API Sequencer * getSequencerAlg(const IAlgContextSvc *svc)
simple function to extract the last active Sequencer from the context
Definition: GetAlgs.cpp:140
StatusCode::isSuccess
bool isSuccess() const
Definition: StatusCode.h:314
GaudiPartProp.tests.v1
v1
Definition: tests.py:39
std::pair
gaudirun.s
string s
Definition: gaudirun.py:346
std::vector< IAlgorithm * >
std::find_if
T find_if(T... args)
Gaudi::Utils::getTupleAlg
GAUDI_API GaudiTupleAlg * getTupleAlg(const IAlgContextSvc *svc)
simple function to extract the last active GaudiTupleAlg from the context
Definition: GetAlgs.cpp:105
IAlgContextSvc::algorithms
virtual const Algorithms & algorithms() const =0
get the stack of executed algorithms
Gaudi::Utils::getGaudiAlg
GAUDI_API GaudiAlgorithm * getGaudiAlg(const IAlgContextSvc *svc)
simple function to extract the last active GaudiAlgorithm from the context
Definition: GetAlgs.cpp:69
Gaudi::Utils::getHistoAlg
GAUDI_API GaudiHistoAlg * getHistoAlg(const IAlgContextSvc *svc)
simple function to extract the last active GaudiHistoAlg from the context
Definition: GetAlgs.cpp:87
gaudiComponentHelp.root
root
Definition: gaudiComponentHelp.py:42
GaudiTupleAlg
Definition: GaudiTupleAlg.h:51
std::tuple
Histograms.algs
algs
Definition: Histograms.py:26
Gaudi::Utils::Aida2ROOT::aida2root
static TH1D * aida2root(AIDA::IHistogram1D *aida)
get the underlying pointer for 1D-histogram
Definition: Aida2ROOT.cpp:68
GaudiUtils::Map< K, T, std::unordered_map< K, T, Hash< K > > >::begin
iterator begin()
Definition: Map.h:139
basic.alg
alg
Definition: basic.py:15
IProperty
Definition: IProperty.h:33
Gaudi::Details::PropertyBase::setDocumentation
void setDocumentation(std::string value)
set the documentation string
Definition: PropertyBase.h:91
StatusCode
Definition: StatusCode.h:65
Gaudi::Utils::getGaudiSequencer
GAUDI_API GaudiSequencer * getGaudiSequencer(const IAlgContextSvc *svc)
simple function to extract the last active GaudiSequencer from the context
Definition: GetAlgs.cpp:123
IAlgorithm
Definition: IAlgorithm.h:38
std::ostream
STL class.
GaudiAlgorithm
Definition: GaudiAlgorithm.h:104
CLHEP::begin
double * begin(CLHEP::HepVector &v)
Definition: TupleAlg.cpp:45
IDataProviderSvc::retrieveObject
virtual StatusCode retrieveObject(IRegistry *pDirectory, std::string_view path, DataObject *&pObject)=0
Retrieve object identified by its directory entry.
Gaudi::Utils::setProperty
StatusCode setProperty(IProperty *component, const std::string &name, const TYPE &value, const std::string &doc)
simple function to set the property of the given object from the value
Definition: Property.h:914
std::iterator_traits
Gaudi::Utils::getProperty
GAUDI_API Gaudi::Details::PropertyBase * getProperty(const IProperty *p, std::string_view name)
simple function which gets the property with given name from the component
Definition: Property.cpp:214
Gaudi::ParticleProperties::printAsTable_
GAUDI_API std::ostream & printAsTable_(const std::vector< const Gaudi::ParticleProperty * > &particles, std::ostream &stream, const Gaudi::Interfaces::IParticlePropertySvc *service=0)
print a list of properties in a form of the table
Definition: ParticleProperty.cpp:173
GaudiPartProp.tests.v2
v2
Definition: tests.py:59
GaudiUtils::Map
Definition: Map.h:91
IProperty::hasProperty
virtual bool hasProperty(std::string_view name) const =0
Return true if we have a property with the given name.
GaudiPython.Bindings.nullptr
nullptr
Definition: Bindings.py:87
SmartIF< IProperty >
std::map< std::string, double >
Gaudi::Details::PropertyBase::assign
virtual bool assign(const PropertyBase &source)=0
import the property value form the source
IOTest.sel
sel
Definition: IOTest.py:104
GaudiUtils::Map< K, T, std::unordered_map< K, T, Hash< K > > >::end
iterator end()
Definition: Map.h:140
StatusCode::ignore
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
Definition: StatusCode.h:139
std::ostringstream
STL class.
Gaudi::Utils::toString
std::string toString(const TYPE &obj)
the generic implementation of the type conversion to the string
Definition: ToStream.h:354
toStream
std::ostream & toStream(const DataObjID &d, std::ostream &os)
Definition: DataObjID.cpp:93
GaudiSequencer
Definition: GaudiSequencer.h:38
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:100
IProperty::getProperties
virtual const std::vector< Gaudi::Details::PropertyBase * > & getProperties() const =0
Get list of properties.
ProduceConsume.props
props
Definition: ProduceConsume.py:84
std::vector::begin
T begin(T... args)
GaudiHistoAlg
Definition: GaudiHistoAlg.h:47
Gaudi::Utils::toStream
std::ostream & toStream(ITERATOR first, ITERATOR last, std::ostream &s, const std::string &open, const std::string &close, const std::string &delim)
the helper function to print the sequence
Definition: ToStream.h:300
AlgSequencer.c1
c1
Definition: AlgSequencer.py:32
IInterface
Definition: IInterface.h:237
GaudiPartProp.tests.lst
lst
Definition: tests.py:37
IAlgContextSvc
Definition: IAlgContextSvc.h:33
DataObject
Definition: DataObject.h:40
std::string::empty
T empty(T... args)
Properties.v
v
Definition: Properties.py:122
Gaudi::Utils::getSequencer
GAUDI_API IAlgorithm * getSequencer(const IAlgContextSvc *svc)
simple function to extract the last active "Sequencer" () GaudiSequencer or simple Sequencer) from th...
Definition: GetAlgs.cpp:159
AlgSequencer.c2
c2
Definition: AlgSequencer.py:33
gaudirun.parser
parser
Definition: gaudirun.py:149
std::ostringstream::str
T str(T... args)
std::vector::end
T end(T... args)
IOTest.end
end
Definition: IOTest.py:123
StatusCode::FAILURE
constexpr static const auto FAILURE
Definition: StatusCode.h:101
getProperty
const char *PyHelper() getProperty(IInterface *p, char *name)
Definition: Bootstrap.cpp:248
Gaudi::Utils::getAlgorithm
GAUDI_API IAlgorithm * getAlgorithm(const IAlgContextSvc *svc, const AlgSelector &sel)
simple function to get the algorithm from Context Service
Definition: GetAlg.cpp:34
ProduceConsume.key
key
Definition: ProduceConsume.py:81
std::set
STL class.
Gaudi::Property
Implementation of property with value of concrete type.
Definition: Property.h:39
Gaudi::Utils::hasProperty
GAUDI_API bool hasProperty(const IProperty *p, std::string_view name)
simple function which check the existence of the property with the given name.
Definition: Property.cpp:106
std::cref
T cref(T... args)
IProperty::setPropertyRepr
virtual StatusCode setPropertyRepr(const std::string &n, const std::string &r)=0
Set the property by name and value representation.
GaudiUtils::details::ostream_joiner
Stream & ostream_joiner(Stream &os, Iterator first, Iterator last, Separator sep, OutputElement output=OutputElement{})
Definition: SerializeSTL.h:73
Iterator
boost::spirit::classic::position_iterator2< ForwardIterator > Iterator
Definition: Iterator.h:28
PrepareBase.out
out
Definition: PrepareBase.py:20
Gaudi::Utils::hasProperty
GAUDI_API bool hasProperty(const std::vector< const Gaudi::Details::PropertyBase * > *p, std::string_view name)
check the property by name from the list of the properties
Definition: Property.cpp:275