11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H 55 template <
typename Proxy,
typename Selector = Proxy>
80 template <
typename CollProxy>
114 template <
typename Event,
typename... WithArgs>
138 template <
typename CollProxy>
148 template <
typename T>
162 template <
typename MainColl>
224 template <
typename Traits,
typename,
typename... Args>
229 template <
typename Traits,
typename... Args>
233 util::always_true_v<typename Traits::template collection_proxy_impl_t<Args...>>>,
235 using type =
typename Traits::template collection_proxy_impl_t<Args...>;
240 template <
typename Traits,
typename... Args>
245 template <
typename Traits,
typename... Args>
248 using collection_proxy_impl_t =
250 return collection_proxy_impl_t(std::forward<Args>(args)...);
260 template <
typename CollProxy>
261 template <
typename Event,
typename... WithArgs>
264 WithArgs&&... withArgs)
266 auto mainHandle =
event.template getValidHandle<main_collection_t>(tag);
271 return details::createCollectionProxyFromTraits<traits_t>(
273 withArgs.template createAuxProxyMaker<main_collection_proxy_t>(event, mainHandle, tag)...);
280 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H auto createCollectionProxyFromTraits(Args &&...args)
Collection of data type definitions for collection proxies.
MainColl main_collection_t
Type of the original collection.
Class to assemble the required proxy.
typename details::TemplateAdaptorOnePlus< CollectionProxy, Args... >::type CollectionProxyFromArgs
util::collection_value_t< MainColl > main_element_t
Type of the elements in the original collection.
Define the traits of proxy::Tracks proxy.
typename traits_t::main_element_t main_element_t
Type returned by the main collection indexing operator.
typename traits_t::main_collection_proxy_t main_collection_proxy_t
Type of main collection proxy.
Base representation of a collection of proxied objects.
Wrapper for the main collection of a proxy.
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
typename main_collection_proxy_t::main_collection_t main_collection_t
Type of element of the main collection.
static auto make(Event const &event, art::InputTag const &tag, WithArgs &&...withArgs)
Creates and returns a collection proxy based on CollProxy and with the requested associated data...
Utilities for the collection proxy object.
Class to assemble the required proxy.
Encloses LArSoft data product proxy objects and utilities.See this doxygen module for an introduction...
A std::true_type with a template argument.
util::collection_value_t< main_collection_t > main_element_t
Type returned by the main collection indexing operator.
std::vector< T > main_collection_t
Type of element of the main collection.
typename traits_t::main_collection_t main_collection_t
Type of element of the main collection.
typename main_collection_proxy_t::main_element_t main_element_t
Type returned by the main collection indexing operator.
typename CollectionProxyImplFromTraitsImpl< Traits, void, Args... >::type CollectionProxyImplFromTraits_t
Event finding and building.