19 const std::string& key)
22 if (trans->
size() > 0) {
27 size_t size = orig.
size();
28 size_t nremaining = size;
30 std::string key2 = key;
31 if (key2.size() >= 4 && key2.substr (key2.size()-4, 4) ==
"Aux.")
33 key2.erase (key2.size()-4, 4);
47 ids &= info->m_vetoed;
79 if (info && info->vetoed (auxid))
continue;
80 if (sel_auxids.
count(auxid) == 0)
continue;
85 const void* src = orig.
getData (auxid);
90 if (nremaining == size) {
92 r.copyForOutput (auxid, dstIface, 0, srcIface, 0, size);
96 for (std::size_t isrc = 0, idst = 0; isrc < size; ++isrc) {
97 if ( ! (dec && dec->
thinned(isrc)) ) {
98 r.copyForOutput (auxid, dstIface, idst, srcIface, isrc, 1);
Handle mappings between names and auxid_t.
Make an AuxVectorData object from either a raw vector or an aux store.
bit_t count() const
Count the number of 1 bits in the set.
Handle mappings between names and auxid_t.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Make an AuxVectorData object from either a raw array or an aux store.
virtual bool resize(size_t sz)=0
Change the size of all aux data vectors.
virtual void * getData(auxid_t auxid, size_t size, size_t capacity)=0
Return the data vector for one aux data item.
Hold thinning decisions for one container.
bool thinned(size_t ndx) const
Return true if element ndx should be thinned.
size_t thinnedSize() const
Return the size of the container being thinned after thinning.
Hold thinning/slimming information for a given object.
A set of aux data identifiers.
virtual xAOD::ShallowAuxContainer * createTransientWithKey(const std::string &key) override
Function reading in the object from the input file.
virtual xAOD::ShallowAuxContainer * createPersistentWithKey(xAOD::ShallowAuxContainer *trans, const std::string &key) override
Function preparing the container to be written out.
xAODShallowAuxContainerCnv(ISvcLocator *svcLoc)
Converter constructor.
Class creating a shallow copy of an existing auxiliary container.
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.
void setParent(const DataLink< SG::IConstAuxStore > &link)
Set the parent store.
virtual const auxid_set_t & getDynamicAuxIDs() const override
Get the types(names) of variables created dynamically.
virtual SG::IAuxStore * getStore() override
Get the currently used internal store object.
virtual size_t size() const override
Get the size of the container.
void setShallowIO(bool value)
Set whether only the overriden parameters should be written out.
virtual auxid_set_t getSelectedAuxIDs() const override
Get the IDs of the selected dynamic Aux variables (for writing)
const DataLink< SG::IConstAuxStore > & parent() const
Get the parent store.
Helper to copy an object while applying thinning.
Helpers to retrieve the current thinning cache from the event context.
static const auxid_t null_auxid
To signal no aux data item.
const SG::ThinningInfo * getThinningInfo(const EventContext &ctx, const std::string &key)
Retrieve the current thinning information for key.
size_t auxid_t
Identifier for a particular aux data item.
T_AthenaPoolCustomCnvWithKey< xAOD::ShallowAuxContainer, xAOD::ShallowAuxContainer > xAODShallowAuxContainerCnvBase
Base class for the converter.