The Gaudi Framework  v36r6 (b1ee9983)
Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 > Struct Template Reference

#include </builds/gaudi/Gaudi/GaudiAlg/include/GaudiAlg/GetData.h>

Collaboration diagram for Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >:

Public Types

typedef Getter::Type Type
 
typedef Getter::return_type return_type
 the actual return type More...
 

Public Member Functions

template<class COMMON >
return_type operator() (const COMMON &common, IDataProviderSvc *service, std::string_view location, std::string_view location2) const
 the only one essential method More...
 

Private Types

typedef Gaudi::Range_< std::vector< const TYPE * > > Range
 
typedef GetData< Range > Getter
 the actual data getter More...
 
typedef CheckData< Range > Checker
 the actual data checker More...
 

Private Attributes

Getter m_getter
 the actual data getter More...
 

Detailed Description

template<class TYPE, class TYPE2>
struct Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >

Definition at line 441 of file GetData.h.

Member Typedef Documentation

◆ Checker

template<class TYPE , class TYPE2 >
typedef CheckData<Range> Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >::Checker
private

the actual data checker

Definition at line 448 of file GetData.h.

◆ Getter

template<class TYPE , class TYPE2 >
typedef GetData<Range> Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >::Getter
private

the actual data getter

Definition at line 446 of file GetData.h.

◆ Range

template<class TYPE , class TYPE2 >
typedef Gaudi::Range_<std::vector<const TYPE*> > Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >::Range
private

Definition at line 444 of file GetData.h.

◆ return_type

template<class TYPE , class TYPE2 >
typedef Getter::return_type Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >::return_type

the actual return type

Definition at line 454 of file GetData.h.

◆ Type

template<class TYPE , class TYPE2 >
typedef Getter::Type Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >::Type

Definition at line 452 of file GetData.h.

Member Function Documentation

◆ operator()()

template<class TYPE , class TYPE2 >
template<class COMMON >
return_type Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >::operator() ( const COMMON &  common,
IDataProviderSvc *  service,
std::string_view  location,
std::string_view  location2 
) const
inline

the only one essential method

Parameters
commonthe actual "worker"
servicepointer to Data Provider Service
locationlocation of objects in TES
Returns
the data

Definition at line 465 of file GetData.h.

466  {
467  DataObject* obj = m_getter.getData( service, std::string{ location } );
468  if ( !obj ) {
469  common.put( service, std::make_unique<TYPE2>(), location2 );
470  if ( common.msgLevel( MSG::DEBUG ) ) {
471  common.debug() << "The object of type '" << System::typeinfoName( typeid( TYPE2 ) )
472  << "' has been created from TS at address '" << location2 << "'" << endmsg;
473  }
474  }
475  return m_getter( common, service, location );
476  // ====================================================================
477  }

Member Data Documentation

◆ m_getter

template<class TYPE , class TYPE2 >
Getter Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >::m_getter
private

the actual data getter

Definition at line 482 of file GetData.h.


The documentation for this struct was generated from the following file:
MSG::DEBUG
@ DEBUG
Definition: IMessageSvc.h:25
GaudiPython.HistoUtils.location
location
Definition: HistoUtils.py:965
std::string
STL class.
Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 >::m_getter
Getter m_getter
the actual data getter
Definition: GetData.h:482
System::typeinfoName
GAUDI_API const std::string typeinfoName(const std::type_info &)
Get platform independent information about the class type.
Definition: System.cpp:308
endmsg
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Definition: MsgStream.h:203
DataObject
Definition: DataObject.h:40