11 #ifndef LARDATA_UTILITIES_FINDMANYINCHAINP_H
12 #define LARDATA_UTILITIES_FINDMANYINCHAINP_H
15 #include "canvas/Persistency/Common/Ptr.h"
16 #include "canvas/Utilities/InputTag.h"
21 #include <initializer_list>
30 template <
typename T,
typename R =
void>
33 template <
typename T,
typename R =
void>
36 template <
typename H,
typename R =
void>
108 template <
typename Target,
typename... Intermediate>
134 template <
typename Source,
typename Event,
typename... InputTags>
220 template <typename Source, typename Event, typename... InputTags>
222 (Source&&
source, Event const& event, InputTags... tags);
236 #include "FindManyInChainP.tcc" // expected in the same directory as this file
241 #endif // LARDATA_UTILITIES_FINDMANYINCHAINP_H
static std::vector< TargetPtrCollection_t > find(Source &&source, Event const &event, InputTags...tags)
Returns target objects associated to all objects contained in the specified source.
double std(const std::vector< short > &wf, const double ped_mean, size_t start, size_t nsample)
FindManyInChainP(Source &&source, Event const &event, InputTags...tags)
Constructor: extracts target objects associated to all objects under the specified handle...
enable_if_type_exists_t< typename std::decay_t< H >::HandleTag, R > enable_if_is_handle_t
TargetPtrCollection_t const & at(std::size_t i) const
Returns all the Target objects associated to specified object.
constexpr SameAsDataTag SameAsData
Value for default tag in FindManyInChainP constructors.
auto vector(Vector const &v)
Returns a manipulator which will print the specified array.
Type for default tag in FindManyInChainP constructors.
typename enable_if_type_exists< T, R >::type enable_if_type_exists_t
std::vector< TargetPtrCollection_t > results
Stored results.
Query object collecting a list of associated objects.
Target Target_t
Type of the associated objects.
std::size_t size() const noexcept
Returns the number of Source objects we have information about.
std::vector< TargetPtr_t > TargetPtrCollection_t
Type returned by at() method.
art::Ptr< Target_t > TargetPtr_t
Pointer to associated objects.