SG::IAuxStoreHolder Class Reference

Interface for objects taking part in direct ROOT I/O. More...

#include <IAuxStoreHolder.h>

Inheritance diagram for SG::IAuxStoreHolder:
xAOD::AuxContainerBase xAOD::AuxInfoBase xAOD::ShallowAuxContainer xAOD::AFPDataAuxContainer_v1 xAOD::AFPSiHitAuxContainer_v1 xAOD::AFPTrackAuxContainer_v1 xAOD::ALFADataAuxContainer_v1 xAOD::BCMRawDataAuxContainer_v1 xAOD::BTaggingAuxContainer_v1 xAOD::BTaggingTrigAuxContainer_v1 xAOD::BTagVertexAuxContainer_v1 xAOD::BunchConfAuxContainer_v1 xAOD::CaloClusterAuxContainer_v1 xAOD::CaloClusterAuxContainer_v2 xAOD::CaloClusterTrigAuxContainer_v1 xAOD::CaloTowerAuxContainer_v1 xAOD::CMMCPHitsAuxContainer_v1 xAOD::CMMEtSumsAuxContainer_v1 xAOD::CMMJetHitsAuxContainer_v1 xAOD::CMXCPHitsAuxContainer_v1 xAOD::CMXCPTobAuxContainer_v1 xAOD::CMXEtSumsAuxContainer_v1 xAOD::CMXJetHitsAuxContainer_v1 xAOD::CMXJetTobAuxContainer_v1 xAOD::CMXRoIAuxContainer_v1 xAOD::CompositeParticleAuxContainer_v1 xAOD::CPMHitsAuxContainer_v1 xAOD::CPMRoIAuxContainer_v1 xAOD::CPMTobRoIAuxContainer_v1 xAOD::CPMTowerAuxContainer_v1 xAOD::CPMTowerAuxContainer_v2 xAOD::CutBookkeeperAuxContainer_v1 xAOD::DiTauJetAuxContainer_v1 xAOD::EgammaAuxContainer_v1 xAOD::ElectronAuxContainer_v2 xAOD::ElectronAuxContainer_v3 xAOD::ElectronTrigAuxContainer_v1 xAOD::EmTauRoIAuxContainer_v1 xAOD::EmTauRoIAuxContainer_v2 xAOD::EventInfoAuxContainer_v1 xAOD::ForwardEventInfoAuxContainer_v1 xAOD::HIEventShapeAuxContainer_v1 xAOD::HIEventShapeAuxContainer_v2 xAOD::JEMEtSumsAuxContainer_v1 xAOD::JEMEtSumsAuxContainer_v2 xAOD::JEMHitsAuxContainer_v1 xAOD::JEMRoIAuxContainer_v1 xAOD::JEMTobRoIAuxContainer_v1 xAOD::JetAuxContainer_v1 xAOD::JetElementAuxContainer_v1 xAOD::JetElementAuxContainer_v2 xAOD::JetRoIAuxContainer_v1 xAOD::JetRoIAuxContainer_v2 xAOD::L1TopoRawDataAuxContainer_v1 xAOD::L2CombinedMuonAuxContainer_v1 xAOD::L2IsoMuonAuxContainer_v1 xAOD::L2StandAloneMuonAuxContainer_v1 xAOD::L2StandAloneMuonAuxContainer_v2 xAOD::LumiBlockRangeAuxContainer_v1 xAOD::MBTSModuleAuxContainer_v1 xAOD::MissingETAuxAssociationMap_v1 xAOD::MissingETAuxAssociationMap_v2 xAOD::MissingETAuxComponentMap_v1 xAOD::MissingETAuxContainer_v1 xAOD::MuonAuxContainer_v1 xAOD::MuonAuxContainer_v2 xAOD::MuonAuxContainer_v3 xAOD::MuonRoIAuxContainer_v1 xAOD::MuonSegmentAuxContainer_v1 xAOD::NeutralParticleAuxContainer_v1 xAOD::ParticleAuxContainer_v1 xAOD::PFOAuxContainer_v1 xAOD::PhotonAuxContainer_v2 xAOD::PhotonAuxContainer_v3 xAOD::PhotonTrigAuxContainer_v1 xAOD::RODHeaderAuxContainer_v1 xAOD::RODHeaderAuxContainer_v2 xAOD::SCTRawHitValidationAuxContainer_v1 xAOD::SlowMuonAuxContainer_v1 xAOD::TauJetAuxContainer_v1 xAOD::TauJetAuxContainer_v2 xAOD::TrackMeasurementValidationAuxContainer_v1 xAOD::TrackParticleAuxContainer_v1 xAOD::TrackParticleAuxContainer_v2 xAOD::TrackParticleAuxContainer_v3 xAOD::TrackParticleClusterAssociationAuxContainer_v1 xAOD::TrackStateValidationAuxContainer_v1 xAOD::TrigBphysAuxContainer_v1 xAOD::TrigCaloClusterAuxContainer_v1 xAOD::TrigElectronAuxContainer_v1 xAOD::TrigEMClusterAuxContainer_v2 xAOD::TriggerMenuAuxContainer_v1 xAOD::TriggerTowerAuxContainer_v1 xAOD::TriggerTowerAuxContainer_v2 xAOD::TrigHisto2DAuxContainer_v1 xAOD::TrigMissingETAuxContainer_v1 xAOD::TrigPassBitsAuxContainer_v1 xAOD::TrigPhotonAuxContainer_v1 xAOD::TrigRingerRingsAuxContainer_v1 xAOD::TrigRingerRingsAuxContainer_v2 xAOD::TrigRNNOutputAuxContainer_v1 xAOD::TrigRNNOutputAuxContainer_v2 xAOD::TrigSpacePointCountsAuxContainer_v1 xAOD::TrigT2MbtsBitsAuxContainer_v1 xAOD::TrigT2ZdcSignalsAuxContainer_v1 xAOD::TrigTrackCountsAuxContainer_v1 xAOD::TrigVertexCountsAuxContainer_v1 xAOD::TruthEventAuxContainer_v1 xAOD::TruthMetaDataAuxContainer_v1 xAOD::TruthParticleAuxContainer_v1 xAOD::TruthPileupEventAuxContainer_v1 xAOD::TruthVertexAuxContainer_v1 xAOD::VertexAuxContainer_v1 xAOD::ZdcModuleAuxContainer_v1 xAOD::CMMRoIAuxInfo_v1 xAOD::EnergySumRoIAuxInfo_v1 xAOD::EventAuxInfo_v1 xAOD::EventShapeAuxInfo_v1 xAOD::FileMetaDataAuxInfo_v1 xAOD::JetEtRoIAuxInfo_v1 xAOD::RoiDescriptorStoreAuxInfo_v1 xAOD::TrigDecisionAuxInfo_v1 xAOD::TrigNavigationAuxInfo_v1 xAOD::ShallowAuxInfo

List of all members.

Public Types

enum  AuxStoreType { AST_ObjectStore = 0, AST_ContainerStore = 1 }

Public Member Functions

virtual ~IAuxStoreHolder ()
 Virtual destructor to make vtable happy...
virtual void setStore (IAuxStore *store)=0
virtual IAuxStoregetStore () const =0
virtual AuxStoreType getStoreType () const =0

Detailed Description

Interface for objects taking part in direct ROOT I/O.

This interface needs to be implemented by classes that serve as auxiliary containers that we want to use in our EDM directly. It allows the I/O infrastructure to give a store object to the object implementing this interface. At that point the object given to this interface will be the one doing the ROOT I/O for the "dynamic" auxiliary variables.

Currently there's a single implementation of this, "xAODCore/AuxContainerBase.h", but we may want to have other implementations later on as well.

Author:
Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
Marcin Nowak <Marcin.Nowak@cern.ch>
Revision
570883
Date
2013-11-16 19:47:55 +0100 (Sat, 16 Nov 2013)

Member Enumeration Documentation

Type of the auxiliary store

In the xAOD EDM we use auxiliary store objects in some cases to describe a single object, and in most cases to describe a container of objects. This enumeration declares which type the object implementing this interface is.

Enumerator:
AST_ObjectStore 

The store describes a single object.

AST_ContainerStore 

The store describes a container.


Member Function Documentation

virtual IAuxStore* SG::IAuxStoreHolder::getStore (  )  const [pure virtual]

Return the pointer to the store object currently in use

There's not much use case for this function yet, but it makes the interface complete at least.

Implemented in xAOD::AuxContainerBase, xAOD::AuxInfoBase, and xAOD::ShallowAuxContainer.

virtual AuxStoreType SG::IAuxStoreHolder::getStoreType (  )  const [pure virtual]

Return the type of the store object

See also:
AuxStoreType

Implemented in xAOD::AuxContainerBase, xAOD::AuxInfoBase, xAOD::ShallowAuxContainer, and xAOD::ShallowAuxInfo.

virtual void SG::IAuxStoreHolder::setStore ( IAuxStore store  )  [pure virtual]

Give an auxiliary store object to the holder object

The purpose of this function is to give an alternate store object to this object instead of the one it uses normally.

Parameters:
store Pointer to an object implementing direct ROOT I/O

Implemented in xAOD::AuxContainerBase, xAOD::AuxInfoBase, and xAOD::ShallowAuxContainer.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1