| # Gaudi Framework, version v23r0 |

Home |  | Generated: Mon Jan 30 2012

Public Types | Public Member Functions | Private Types | Private Attributes

# Gaudi::Utils::GetOrCreateData< Gaudi::Range_< std::vector< const TYPE * > >, TYPE2 > Struct Template Reference

`#include <GetData.h>`

List of all members.

## Public Types
typedef Getter::Type | Type
typedef Getter::return_type | return_type
| the actual return type
## Public Member Functions
template<class COMMON >
return_type | operator() (const COMMON &common, IDataProviderSvc *service, const std::string &location, const std::string &location2) const
| the only one essential method
## Private Types
typedef Gaudi::Range_ < std::vector< const TYPE * > > | Range
typedef GetData< Range > | Getter
| the actual data getter
typedef CheckData< Range > | Checker
| the actual data checker
## Private Attributes
Getter | m_getter
| the actual data getter

## Detailed Description

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

Definition at line 436 of file GetData.h.

## Member Typedef Documentation

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 444 of file GetData.h.

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 442 of file GetData.h.

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 440 of file GetData.h.

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 450 of file GetData.h.

template<class TYPE , class TYPE2 >

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

Definition at line 448 of file GetData.h.

## Member Function Documentation

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,
|  | const std::string & | location,
|  | const std::string & | location2
| ) |  | const`[inline]`

the only one essential method

Parameters:

  common | the actual "worker"
  service | pointer to Data Provider Service
  location | location of objects in TES

Returns:
  the data

Definition at line 462 of file GetData.h.

          {
            DataObject* obj = m_getter.getData ( service , location ) ;
            if ( 0 == obj )
            {
              TYPE2* o = new TYPE2() ;
              common.put ( service , o , location2 ) ;
              if ( common.msgLevel ( MSG::DEBUG ) )
              { common.debug() << "The object of type '"
                               << System::typeinfoName(typeid(*o))
                               << "' has been created from TS at address '"
                               << location2 << "'" << endmsg ; }
            }
            return m_getter ( common , service , location ) ;
            // ====================================================================
          }

## Member Data Documentation

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 485 of file GetData.h.

The documentation for this struct was generated from the following file:

- /afs/cern.ch/sw/Gaudi/releases/GAUDI/GAUDI_v23r0/GaudiAlg/GaudiAlg/GetData.h

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines