11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H 56 template <
typename Proxy,
typename Selector = Proxy>
83 template <
typename CollProxy>
117 template <
typename Event,
typename... WithArgs>
143 template <
typename CollProxy>
155 template <
typename T>
171 template <
typename MainColl>
237 template <
typename Traits,
typename,
typename... Args>
242 template <
typename Traits,
typename... Args>
245 std::enable_if_t<util::always_true_v
246 <typename Traits::template collection_proxy_impl_t<Args...>>
251 using type =
typename Traits::template collection_proxy_impl_t<Args...>;
256 template <
typename Traits,
typename... Args>
262 template <
typename Traits,
typename... Args>
264 using collection_proxy_impl_t
266 return collection_proxy_impl_t(std::forward<Args>(args)...);
278 template <
typename CollProxy>
279 template <
typename Event,
typename... WithArgs>
283 auto mainHandle =
event.template getValidHandle<main_collection_t>(tag);
288 return details::createCollectionProxyFromTraits<traits_t>(
290 withArgs.template createAuxProxyMaker<main_collection_proxy_t>
291 (event, mainHandle, tag)...
300 #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::template collection_proxy_impl_t< Args... > type
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.
CollectionProxyFromArgs< Args... > type
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.