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

Namespaces

namespace  Histos
 Collection of useful utilities for manipulations with AIDA hisgograms.
 
namespace  QuasiRandom
 
namespace  RegEx
 RegeEx: nemspace to hold gaudi regular expression checking.
 

Classes

class  Aida2ROOT
 Accessor to underlying ROOT-representation of transient histograms The actual code is imported from Bender project. More...
 
class  AlgContext
 Helper "sentry" class to automatize the safe register/unregister the algorithm's context. More...
 
class  AttribStringParser
 Parse attribute strings allowing iteration over the various attributes. More...
 
class  HistoStats
 The collection of trivial functions to access the statistical information for the histograms. More...
 
class  LockedChrono
 Helper object, useful for measurement of CPU-performance of highly-recursive structures, e.g. More...
 
class  MapBase
 Helper base-class to allow the generic Python-decoration for all "map-like" classes in Gaudi. More...
 
class  PeriodicAction
 Helper to periodically run asynchronous tasks. More...
 
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 bool hasProperty (const IProperty *p, std::string_view name)
 simple function which check the existence of the property with the given name.
 
GAUDI_API bool hasProperty (const IInterface *p, std::string_view name)
 simple function which check the existence of the property with the given name.
 
GAUDI_API Gaudi::Details::PropertyBasegetProperty (const IProperty *p, std::string_view name)
 simple function which gets the property with given name from the component
 
GAUDI_API Gaudi::Details::PropertyBasegetProperty (const IInterface *p, std::string_view name)
 simple function which gets the property with given name from the component
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
AttribStringParser::Iterator begin (const AttribStringParser &parser)
 
AttribStringParser::Iterator end (const AttribStringParser &)
 
template<class ITERATOR>
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
 
template<class TYPE, std::size_t N>
std::ostream & toStream (const boost::array< TYPE, N > &obj, std::ostream &s)
 printout of class boost::array The format is "Python's tuple"
 
GAUDI_API std::ostream & toStream (const DataHandle &v, std::ostream &o)
 
bool iequal (std::string_view v1, std::string_view v2)
 Helper for case insensitive string comparison.
 
GAUDI_API std::ostream & toStream (const Gaudi::StringKey &key, std::ostream &s)
 send the object to stream (needed to use it as property)
 
template<class SCALAR>
std::ostream & toStream (const SCALAR &, std::ostream &)
 
template<class SCALAR, unsigned int N>
std::ostream & toStream (const ROOT::Math::SVector< SCALAR, N > &obj, std::ostream &s)
 the general streaming function for SVector using python-tupel format
 
template<class TYPE>
std::ostream & toStream (const TYPE &obj, std::ostream &s)
 the generic implementation of the printout to the std::ostream
 
std::ostream & toStream (const std::string &obj, std::ostream &s)
 the printtout of the strings.
 
std::ostream & toStream (const bool obj, std::ostream &s)
 the printout of boolean values "a'la Python"
 
std::ostream & toStream (const float obj, std::ostream &s, const int prec=6)
 the printout of float values with the reasonable precision
 
std::ostream & toStream (const double obj, std::ostream &s, const int prec=8)
 the printout of double values with the reasonable precision
 
std::ostream & toStream (const long double obj, std::ostream &s, const int prec=10)
 the printout of long double values with the reasonable precision
 
template<class KTYPE, class VTYPE>
std::ostream & toStream (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 )"
 
template<typename... Args>
std::ostream & toStream (const std::tuple< Args... > &tuple, std::ostream &s)
 the helper function to print the tuple
 
template<class TYPE, class ALLOCATOR>
std::ostream & toStream (const std::vector< TYPE, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::vector<TYPE,ALLOCATOR> printout.
 
template<class TYPE, class ALLOCATOR>
std::ostream & toStream (const std::list< TYPE, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::list<TYPE,ALLOCATOR> printout.
 
template<class TYPE, class CMP, class ALLOCATOR>
std::ostream & toStream (const std::set< TYPE, CMP, ALLOCATOR > &obj, std::ostream &s)
 the partial template specialization of std::set<TYPE,CMP,ALLOCATOR> printout.
 
template<class TYPE, class HASH, class CMP, class ALLOCATOR>
std::ostream & toStream (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.
 
template<class KTYPE, class VTYPE, class CMP, class ALLOCATOR>
std::ostream & toStream (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 )"
 
template<class KTYPE, class VTYPE, class CMP, class ALLOCATOR>
std::ostream & toStream (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 )"
 
template<class KTYPE, class VTYPE, class MAP>
std::ostream & toStream (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 )"
 
template<class KTYPE, class VTYPE, class HASH, class MAP>
std::ostream & toStream (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 )"
 
template<class TYPE, unsigned int N>
std::ostream & toStream (const TYPE(&obj)[N], std::ostream &s)
 the specialization for C-arrays, a'la python tuple
 
template<class TYPE, std::size_t N>
std::ostream & toStream (const std::array< TYPE, N > &obj, std::ostream &s)
 the specialization for std::array, a'la python tuple
 
template<unsigned int N>
std::ostream & toStream (const char(&obj)[N], std::ostream &s)
 the specialization for C-string, a'la python tuple
 
std::ostream & toStream (const char *obj, std::ostream &s)
 the specialization for C-string, a'la python tuple
 
template<class TYPE>
std::string toString (const TYPE &obj)
 the generic implementation of the type conversion to the string
 
std::ostream & operator<< (std::ostream &s, const TypeNameString &tn)
 Output stream operator for TypeNameString instances.
 
GAUDI_API std::ostream & toStream (const Gaudi::XYZPoint &obj, std::ostream &s)
 print XYZ point
 
GAUDI_API std::ostream & toStream (const Gaudi::XYZVector &obj, std::ostream &s)
 print XYZ vector
 
GAUDI_API std::ostream & toStream (const Gaudi::LorentzVector &obj, std::ostream &s)
 print Lorentz vector
 
GAUDI_API std::ostream & toStream (const std::vector< const Gaudi::ParticleProperty * > &particles, std::ostream &stream)
 print a list of particle properties as formatted table
 
GAUDI_API std::ostream & toStream (const TH1D &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream
 
GAUDI_API std::ostream & toStream (const TH2D &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream
 
GAUDI_API std::ostream & toStream (const TH3D &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream
 
GAUDI_API std::ostream & toStream (const TH1F &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream
 
GAUDI_API std::ostream & toStream (const TH2F &histo, std::ostream &stream, const bool asXML=false)
 stream the ROOT histogram into output stream
 
GAUDI_API std::ostream & toStream (const TH3F &histo, std::ostream &stream, const bool asXML=false)
 stream the AIDA histogram into output stream
 
GAUDI_API std::ostream & toStream (const AIDA::IHistogram1D &histo, std::ostream &stream, const bool asXML=false)
 stream the AIDA histogram into output stream
 
GAUDI_API std::ostream & toStream (const AIDA::IHistogram2D &histo, std::ostream &stream, const bool asXML=false)
 stream the AIDA histogram into output stream
 
GAUDI_API std::ostream & toStream (const AIDA::IHistogram3D &histo, std::ostream &stream, const bool asXML=false)
 stream the AIDA histogram into output stream
 
GAUDI_API std::string toString (const TH1D &histo, const bool asXML=false)
 convert the histogram into the string
 
GAUDI_API std::string toString (const TH2D &histo, const bool asXML=false)
 convert the histogram into the string
 
GAUDI_API std::string toString (const TH3D &histo, const bool asXML=false)
 convert the histogram into the string
 
GAUDI_API std::string toString (const TH1F &histo, const bool asXML=false)
 convert the histogram into the string
 
GAUDI_API std::string toString (const TH2F &histo, const bool asXML=false)
 convert the histogram into the string
 
GAUDI_API std::string toString (const TH3F &histo, const bool asXML=false)
 convert the histogram into the string
 
GAUDI_API std::string toString (const AIDA::IHistogram1D &histo, const bool asXML=false)
 convert the histogram into the string
 
GAUDI_API std::string toString (const AIDA::IHistogram2D &histo, const bool asXML=false)
 convert the histogram into the string
 
GAUDI_API std::string toString (const AIDA::IHistogram3D &histo, const bool asXML=false)
 convert the histogram into the string
 
GAUDI_API std::string toString (const AIDA::IHistogram1D *histo)
 convert the histogram into the string
 
GAUDI_API std::string toString (AIDA::IHistogram1D *histo)
 convert the histogram into the string
 
GAUDI_API std::string toString (const TH1D *histo)
 convert the histogram into the string
 
GAUDI_API std::string toString (TH1D *histo)
 convert the histogram into the string
 
GAUDI_API std::string toString (const TH2D *histo)
 convert the histogram into the string
 
GAUDI_API std::string toString (TH2D *histo)
 convert the histogram into the string
 
GAUDI_API std::string toString (const TH3D *histo)
 convert the histogram into the string
 
GAUDI_API std::string toString (TH3D *histo)
 convert the histogram into the string
 

Function Documentation

◆ begin()

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

Definition at line 135 of file AttribStringParser.h.

135 {
136 return AttribStringParser::Iterator( parser.parse(), parser.m_expandVars );
137 }
Iterator to loop over the tag/value pairs in the attribute string.

◆ end()

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

Definition at line 138 of file AttribStringParser.h.

138 {
140 }

◆ 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" ) ;
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Definition of the basic interface.
Definition IInterface.h:225
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:191
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 217 of file Property.cpp.

217 {
218 // trivial check
219 if ( !p ) { return nullptr; }
220 // remove const-qualifier
221 IInterface* _i = const_cast<IInterface*>( p );
222 if ( !_i ) { return nullptr; }
223 SmartIF<IProperty> property( _i );
224 return property ? getProperty( property, name ) : nullptr;
225}
Small smart pointer class with automatic reference counting for IInterface.
Definition SmartIF.h:28

◆ 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" ) ;
The IProperty is the basic interface for all components which have properties that can be set or get.
Definition IProperty.h:32
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 191 of file Property.cpp.

191 {
192 // trivial check
193 if ( !p ) { return nullptr; }
194 // get all properties
195 const auto& props = p->getProperties();
196 // comparison criteria:
197 auto ifound = std::find_if( props.begin(), props.end(), is_iByName( name ) );
198 return ifound != props.end() ? *ifound : nullptr;
199}
virtual const std::vector< Gaudi::Details::PropertyBase * > & getProperties() const =0
Get list of properties.

◆ 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 273 of file Property.cpp.

273 {
274 // trivial check
275 if ( !p ) { return nullptr; }
276 auto ifound = std::find_if( p->begin(), p->end(), is_iByName( name ) );
277 return p->end() != ifound ? *ifound : nullptr;
278}

◆ 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" ) ;
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:87
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 66 of file Property.cpp.

66 {
67 // delegate to another method after trivial check
68 return p && getProperty( p, name );
69}

◆ 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 87 of file Property.cpp.

87 {
88 // delegate the actual work to another method ;
89 return p && p->hasProperty( name );
90}
virtual bool hasProperty(std::string_view name) const =0
Return true if we have a property with the given name.

◆ 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 248 of file Property.cpp.

248 {
249 // delegate to another method
250 return getProperty( p, name );
251}

◆ iequal()

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

Helper for case insensitive string comparison.

Definition at line 41 of file PropertyHolder.h.

41 {
42 return std::equal( begin( v1 ), end( v1 ), begin( v2 ), end( v2 ),
43 []( char c1, char c2 ) { return toupper( c1 ) == toupper( c2 ); } );
44 }
void toupper(std::string &s)
AttribStringParser::Iterator begin(const AttribStringParser &parser)
AttribStringParser::Iterator end(const AttribStringParser &)

◆ operator<<()

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

Output stream operator for TypeNameString instances.

Definition at line 53 of file TypeNameString.h.

53 {
54 return s << tn.type() << '/' << tn.name();
55 }
const std::string & type() const
const std::string & name() const

◆ 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 404 of file Property.cpp.

405 {
406 return setProperty( component, name, std::string{ value }, doc );
407}
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:891

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

1040 {
1041 if ( !component ) { return StatusCode::FAILURE; }
1042 return setProperty( component, name, std::string{ value, value + N }, doc );
1043 }
constexpr static const auto FAILURE
Definition StatusCode.h:100

◆ 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 ) ;
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
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 457 of file Property.cpp.

458 {
459 return setProperty( component, name, &property, doc );
460}

◆ 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 429 of file Property.cpp.

430 {
431 if ( !component ) { return StatusCode::FAILURE; }
432 SmartIF<IProperty> prop( component );
433 if ( !prop ) { return StatusCode::FAILURE; }
434 return setProperty( prop, name, property, doc );
435}

◆ 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 ) ;
Implementation of property with value of concrete type.
Definition PropertyFwd.h:27
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 1113 of file Property.h.

1114 {
1115 return setProperty( component, name, &value, doc );
1116 }

◆ 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 386 of file Property.cpp.

387 {
388 if ( !component ) { return StatusCode::FAILURE; }
389 SmartIF<IProperty> property( component );
390 return property ? setProperty( property, name, value, doc ) : StatusCode::FAILURE;
391}

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

992 {
993 if ( !component ) { return StatusCode::FAILURE; }
994 auto property = SmartIF<IProperty>{ component };
995 return property ? setProperty( property, name, value, doc ) : StatusCode::FAILURE;
996 }

◆ 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 292 of file Property.cpp.

293 {
294 return Gaudi::Utils::setProperty( component, name, std::string{ value }, doc );
295}

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

857 {
858 return component ? setProperty( component, name, std::string( value, value + N ), doc ) : StatusCode::FAILURE;
859 }

◆ 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 370 of file Property.cpp.

371 {
372 return setProperty( component, name, &property, doc );
373}

◆ 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 341 of file Property.cpp.

342 {
343 if ( !component || !property ) return StatusCode::FAILURE;
344 PropertyBase* p = getProperty( component, name );
345 if ( !p || !p->assign( *property ) ) return StatusCode::FAILURE;
346 if ( !doc.empty() ) { p->setDocumentation( doc ); }
347 return StatusCode::SUCCESS;
348}
void setDocumentation(std::string value)
set the documentation string
virtual bool assign(const PropertyBase &source)=0
import the property value form the source
constexpr static const auto SUCCESS
Definition StatusCode.h:99

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

967 {
968 return setProperty( component, name, &value, doc );
969 }

◆ 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 308 of file Property.cpp.

309 {
310 if ( !component ) { return StatusCode::FAILURE; }
311 if ( !component->hasProperty( name ) ) { return StatusCode::FAILURE; }
312 StatusCode sc = component->setPropertyRepr( name, value );
313 if ( !doc.empty() ) {
314 PropertyBase* p = getProperty( component, name );
315 if ( p ) { p->setDocumentation( doc ); }
316 }
317 sc.ignore();
318 return sc;
319}
virtual StatusCode setPropertyRepr(const std::string &n, const std::string &r)=0
Set the property by name and value representation.
const StatusCode & ignore() const
Allow discarding a StatusCode without warning.
Definition StatusCode.h:139

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

809 {
810 return setProperty( component, name, value, std::string() );
811 }

◆ 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 ) ;
std::map<std::string,double> cuts = ... ;
sc = setProperty ( component , "Cuts" , cuts ) ;
std::map<std::string,std::string> dict = ... ;
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 891 of file Property.h.

891 {
893 return component && hasProperty( component, name )
894 ? Gaudi::Utils::setProperty( component, name, toString( value ), doc )
895 : StatusCode::FAILURE;
896 }
std::string toString(const TYPE &obj)
the generic implementation of the type conversion to the string
Definition ToStream.h:326

◆ 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}
static TH1D * aida2root(AIDA::IHistogram1D *aida)
get the underlying pointer for 1D-histogram
Definition Aida2ROOT.cpp:60
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:304

◆ 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 75 of file ToStream.h.

75{ 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 47 of file BoostArrayAsProperty.h.

47 {
48 return toStream( obj.begin(), obj.end(), s, "( ", " )", " , " );
49 }

◆ 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 252 of file ToStream.h.

252{ 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 245 of file ToStream.h.

245 {
246 return toStream( std::string( obj, obj + N ), s );
247 }

◆ 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 88 of file ToStream.h.

88 {
89 const int p = static_cast<int>( s.precision() );
90 return s << std::setprecision( prec ) << obj << std::setprecision( p );
91 }

◆ 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 80 of file ToStream.h.

80 {
81 const int p = static_cast<int>( s.precision() );
82 return s << std::setprecision( prec ) << obj << std::setprecision( p );
83 }

◆ toStream() [11/39]

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

print Lorentz vector

Definition at line 112 of file ParsersVct.cpp.

112 {
113
114 s << "( ";
115 toStream( obj.Px(), s, 12 );
116 s << " , ";
117 toStream( obj.Py(), s, 12 );
118 s << " , ";
119 toStream( obj.Pz(), s, 13 );
120 s << " , ";
121 toStream( obj.E(), s, 14 );
122 s << " )";
123
124 return s;
125}

◆ 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 29 of file StringKey.cpp.

29 {
30 return Gaudi::Utils::toStream( key.str(), s );
31}

◆ toStream() [13/39]

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

print XYZ point

Definition at line 91 of file ParsersVct.cpp.

91 {
92 s << "( ";
93 toStream( obj.X(), s );
94 s << " , ";
95 toStream( obj.Y(), s );
96 s << " , ";
97 toStream( obj.Z(), s );
98 s << " )";
99 return s;
100}

◆ toStream() [14/39]

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

print XYZ vector

Definition at line 101 of file ParsersVct.cpp.

101 {
102 s << "( ";
103 toStream( obj.X(), s );
104 s << " , ";
105 toStream( obj.Y(), s );
106 s << " , ";
107 toStream( obj.Z(), s );
108 s << " )";
109
110 return s;
111}

◆ 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 212 of file ToStream.h.

212 {
213 // Copy the hash map into a map to have it ordered by key.
214 return toStream( GaudiUtils::Map<KTYPE, VTYPE>{ obj.begin(), obj.end() }, s );
215 }
Extension of the STL map.
Definition Map.h:83

◆ 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 195 of file ToStream.h.

195 {
197 return ostream_joiner( s << "{ ", obj, " , ",
198 []( std::ostream& os, const std::pair<const KTYPE, VTYPE>& i ) -> std::ostream& {
199 return toStream( i.second, toStream( i.first, os ) << " : " );
200 } )
201 << " }";
202 }
Stream & ostream_joiner(Stream &os, Iterator first, Iterator last, Separator sep, OutputElement output=OutputElement{})

◆ 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 178 of file ToStream.h.

178 {
180 return ostream_joiner( s << "{ ", obj, " , ",
181 []( std::ostream& os, const std::pair<const KTYPE, VTYPE>& i ) -> std::ostream& {
182 return toStream( i.second, toStream( i.first, os ) << " : " );
183 } )
184 << " }";
185 }

◆ 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 96 of file ToStream.h.

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

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

56 {
57 s << "( ";
58 for ( auto cur = obj.begin(); obj.end() != cur; ++cur ) {
59 if ( obj.begin() != cur ) { s << " , "; }
60 toStream( *cur, s );
61 }
62 return s << " )";
63 }

◆ 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 233 of file ToStream.h.

233 {
234 if constexpr ( N == 1 ) {
235 return toStream( obj[0], s << "( " ) << " , )";
236 } else {
237 return toStream( begin( obj ), end( obj ), s, "( ", " )", " , " );
238 }
239 }

◆ 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 132 of file ToStream.h.

132 {
133 return toStream( obj.begin(), obj.end(), s, "[ ", " ]", " , " );
134 }

◆ 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 161 of file ToStream.h.

161 {
163 return ostream_joiner( s << "{ ", obj, " , ",
164 []( std::ostream& os, const std::pair<const KTYPE, VTYPE>& i ) -> std::ostream& {
165 return toStream( i.second, toStream( i.first, os ) << " : " );
166 } )
167 << " }";
168 }

◆ 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 108 of file ToStream.h.

108 {
109 return toStream( obj.second, toStream( obj.first, s << "( " ) << " , " ) << " )";
110 }

◆ 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 142 of file ToStream.h.

142 {
143 return toStream( obj.begin(), obj.end(), s, "[ ", " ]", " , " );
144 }

◆ 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 70 of file ToStream.h.

70{ 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 285 of file ToStream.h.

285 {
286 auto& out = TuplePrinter<decltype( tuple ), sizeof...( Args )>::toStream( tuple, s << " ( " );
287 if constexpr ( std::tuple_size_v<std::tuple<Args...>> == 1 ) { // this is a special case in Python
288 out << " ,";
289 }
290 return out << " ) ";
291 }

◆ 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 149 of file ToStream.h.

149 {
150 auto ordered = std::set( obj.begin(), obj.end() ); // ensure reproducible printout
151 return obj.empty() ? s << "set()" : toStream( ordered.begin(), ordered.end(), s, "{ ", " }", " , " );
152 }

◆ 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 {
348 return Gaudi::ParticleProperties::printAsTable_( particles, stream );
349}
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

◆ 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 122 of file ToStream.h.

122 {
123 return toStream( obj.begin(), obj.end(), s, "[ ", " ]", " , " );
124 }

◆ 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 259 of file ToStream.h.

259 {
260 return s << obj;
261 }

◆ 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 221 of file ToStream.h.

221 {
222 if constexpr ( N == 1 ) {
223 return toStream( obj[0], s << "( " ) << " , )";
224 } else {
225 return toStream( obj, obj + N, s, "( ", " )", " , " );
226 }
227 }

◆ 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 304 of file ToStream.h.

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

◆ 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 {
449 std::ostringstream o;
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 {
463 std::ostringstream o;
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 {
477 std::ostringstream o;
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 {
365 std::ostringstream o;
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 {
379 std::ostringstream o;
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 {
393 std::ostringstream o;
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 {
407 std::ostringstream o;
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 {
421 std::ostringstream o;
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 {
435 std::ostringstream o;
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 326 of file ToStream.h.

326 {
327 std::ostringstream s;
328 std::ios::fmtflags orig_flags = s.flags();
329 s.setf( std::ios::showpoint ); // to display correctly floats
330 toStream( obj, s );
331 s.flags( orig_flags );
332 return s.str();
333 }

◆ 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 ) : "{}"; }