Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Protected Member Functions | List of all members
IByteStreamCnvSvc Class Referenceabstract

interface for bytestream conversion services More...

#include <IByteStreamCnvSvc.h>

Inheritance diagram for IByteStreamCnvSvc:
Collaboration diagram for IByteStreamCnvSvc:

Public Member Functions

 DeclareInterfaceID (IByteStreamCnvSvc, 1, 0)
 Gaudi interface id. More...
 
template<class T >
StatusCode getFullEventAssembler (T *&t, const std::string &name)
 Access to FullEventAssembler. More...
 

Protected Member Functions

virtual FullEventAssemblerBasefindFullEventAssembler (const std::string &name) const =0
 Find FullEventAssembler with given name. More...
 
virtual StatusCode storeFullEventAssembler (std::unique_ptr< FullEventAssemblerBase > fea, const std::string &name)=0
 Store FullEventAssembler under given name. More...
 

Detailed Description

interface for bytestream conversion services

Definition at line 18 of file IByteStreamCnvSvc.h.

Member Function Documentation

◆ DeclareInterfaceID()

IByteStreamCnvSvc::DeclareInterfaceID ( IByteStreamCnvSvc  ,
,
 
)

Gaudi interface id.

◆ findFullEventAssembler()

virtual FullEventAssemblerBase* IByteStreamCnvSvc::findFullEventAssembler ( const std::string &  name) const
protectedpure virtual

Find FullEventAssembler with given name.

Returns
pointer to FullEventAssembler or nullptr if it does not exist

◆ getFullEventAssembler()

template<class T >
StatusCode IByteStreamCnvSvc::getFullEventAssembler ( T *&  t,
const std::string &  name 
)

Access to FullEventAssembler.

Definition at line 42 of file IByteStreamCnvSvc.h.

43 {
44  // Find existing FEA
46  if (fea) {
47  t = dynamic_cast<T*>(fea);
48  if (t == nullptr) {
49  REPORT_MESSAGE_WITH_CONTEXT(MSG::ERROR, "IByteStreamCnvSvc")
50  << "FullEventAssembler with key '" << name << "' exists, but of different type" << endmsg;
51  return StatusCode::FAILURE;
52  }
53  return StatusCode::SUCCESS;
54  }
55  else { // create new FEA
56  auto ptr = std::make_unique<T>();
57  t = ptr.get();
58  return storeFullEventAssembler(std::move(ptr), name);
59  }
60 }

◆ storeFullEventAssembler()

virtual StatusCode IByteStreamCnvSvc::storeFullEventAssembler ( std::unique_ptr< FullEventAssemblerBase fea,
const std::string &  name 
)
protectedpure virtual

Store FullEventAssembler under given name.

Returns
Success or failure.

The documentation for this class was generated from the following file:
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
FullEventAssemblerBase
base class for assembling a full atlas raw event from subfragments
Definition: FullEventAssembler.h:23
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
IByteStreamCnvSvc::storeFullEventAssembler
virtual StatusCode storeFullEventAssembler(std::unique_ptr< FullEventAssemblerBase > fea, const std::string &name)=0
Store FullEventAssembler under given name.
REPORT_MESSAGE_WITH_CONTEXT
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:345
IByteStreamCnvSvc::findFullEventAssembler
virtual FullEventAssemblerBase * findFullEventAssembler(const std::string &name) const =0
Find FullEventAssembler with given name.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35