2 * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
5 * @file AthContainers/tools/LinkedVarAccessorBase.icc
6 * @author scott snyder <snyder@bnl.gov>
8 * @brief Base class usable for accessors for variables with linked variables.
12 namespace SG { namespace detail {
16 * @brief Test to see if this variable exists in the store.
17 * @param e An element of the container in which to test the variable.
20 requires( IsConstAuxElement<ELT> )
22 bool LinkedVarAccessorBase::isAvailable (const ELT& e) const
24 return e.container() &&
25 e.container()->isAvailable (m_auxid) &&
26 e.container()->isAvailable (m_linkedAuxid);
31 * @brief Test to see if this variable exists in the store.
32 * @param c The container in which to test the variable.
35 bool LinkedVarAccessorBase::isAvailable (const AuxVectorData& c) const
37 return c.isAvailable (m_auxid) && c.isAvailable (m_linkedAuxid);
42 * @brief Return the aux id for this variable.
45 auxid_t LinkedVarAccessorBase::auxid() const
52 * @brief Return the aux id for the linked DataLink vector.
55 auxid_t LinkedVarAccessorBase::linkedAuxid() const
61 } } // namespace SG::detail