11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H
12 #define LARDATA_RECOBASEPROXY_PROXYBASE_COLLECTIONPROXYMAKER_H
20 #include "canvas/Utilities/InputTag.h"
56 template <
typename Proxy,
typename Selector = Proxy>
83 template <
typename CollProxy>
117 template <
typename Event,
typename... WithArgs>
119 (Event
const& event, art::InputTag
const& tag, WithArgs&&... 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>
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>
281 (Event
const& event, art::InputTag
const& tag, WithArgs&&... 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)
double std(const std::vector< short > &wf, const double ped_mean, size_t start, size_t nsample)
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.
typename std::enable_if< B, T >::type enable_if_t
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