ATLAS Offline Software
Public Types | Static Public Member Functions | List of all members
CP::detail::ShallowCopy< xAOD::EgammaContainer > Struct Reference

#include <CopyHelpers.h>

Collaboration diagram for CP::detail::ShallowCopy< xAOD::EgammaContainer >:

Public Types

typedef std::decay< decltype(*(std::declval< EL::AnaAlgorithm >).evtStore()))>::type StoreType
 the type of the event store we use More...
 

Static Public Member Functions

static StatusCode getCopy (MsgStream &msgStream, StoreType &store, xAOD::EgammaContainer *&object, const xAOD::EgammaContainer *inputObject, const std::string &outputName, const std::string &auxName)
 

Detailed Description

Definition at line 22 of file EgammaAnalysisAlgorithms/EgammaAnalysisAlgorithms/CopyHelpers.h.

Member Typedef Documentation

◆ StoreType

typedef std::decay<decltype( *(std::declval<EL::AnaAlgorithm>).evtStore()))>::type CP::detail::ShallowCopy< xAOD::EgammaContainer >::StoreType

the type of the event store we use

Definition at line 27 of file EgammaAnalysisAlgorithms/EgammaAnalysisAlgorithms/CopyHelpers.h.

Member Function Documentation

◆ getCopy()

static StatusCode CP::detail::ShallowCopy< xAOD::EgammaContainer >::getCopy ( MsgStream &  msgStream,
StoreType store,
xAOD::EgammaContainer *&  object,
const xAOD::EgammaContainer inputObject,
const std::string &  outputName,
const std::string &  auxName 
)
inlinestatic

Definition at line 30 of file EgammaAnalysisAlgorithms/EgammaAnalysisAlgorithms/CopyHelpers.h.

34  {
35  // Set up a lambda for providing a msg(...) function.
36  // Suppress thread-checker warning because this provides just a wrapper to MsgStream.
37  const auto msg = [&] ATLAS_NOT_THREAD_SAFE (MSG::Level lvl) -> MsgStream& {
38  msgStream << lvl;
39  return msgStream;
40  };
41 
42  xAOD::IParticleContainer *subobject = nullptr;
43  if (!ShallowCopy<xAOD::IParticleContainer>::getCopy (msgStream, store, subobject, inputObject, outputName, auxName).isSuccess())
44  return StatusCode::FAILURE;
45  if (!(object = dynamic_cast<xAOD::EgammaContainer*>(subobject)))
46  {
47  ANA_MSG_ERROR ("copy of EgammaContainer is not an EgammaContainer");
48  ANA_MSG_ERROR ("check logic in CopyHelpers");
49  return StatusCode::FAILURE;
50  }
51  return StatusCode::SUCCESS;
52  }

The documentation for this struct was generated from the following file:
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:69
CP::detail::ShallowCopy< xAOD::IParticleContainer >::getCopy
static StatusCode getCopy(MsgStream &msgStream, StoreType &store, xAOD::IParticleContainer *&object, const xAOD::IParticleContainer *inputObject, const std::string &outputName, const std::string &auxName)
Definition: SystematicsHandles/Root/CopyHelpers.cxx:31
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
ANA_MSG_ERROR
#define ANA_MSG_ERROR(xmsg)
Macro printing error messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:294
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
lumiFormat.outputName
string outputName
Definition: lumiFormat.py:71
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7