1 #ifndef DataFormats_Common_DetSetAlgorithm_h
2 #define DataFormats_Common_DetSetAlgorithm_h
12 template <
typename DSTV,
typename A,
typename B>
14 return v.equal_range(p.first,p.second);
20 template <
typename DSTV,
typename A,
typename B,
typename F>
22 typedef typename DSTV::data_type data_type;
24 for(
typename DSTV::const_iterator
id=range.first;
id!=range.second;
id++)
25 std::for_each((*id).begin(), (*id).end(),
26 std::function<void(const data_type &)>(std::ref(f)));
29 namespace dstvdetails {
41 template <
typename DSTV,
typename A,
typename B,
typename T>
43 std::vector<T const *> &
v,
44 std::pair<A,B>
const &
sel) {
45 typename DSTV::Range range = dstv.equal_range(sel.first,sel.second);
46 for(
typename DSTV::const_iterator
id=range.first;
id!=range.second;
id++){
48 v.resize(cs+(*id).size());
55 #endif // DataFormats_Common_DetSetAlgorithm_h
void copyDetSetRange(DSTV const &dstv, std::vector< T const * > &v, std::pair< A, B > const &sel)
auto_ptr< ClusterSequence > cs
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
PixelRecoRange< float > Range
void foreachDetSetObject(DSTV const &v, std::pair< A, B > const &sel, F &f)
H const * operator()(H const &h) const
DSTV::Range detsetRangeFromPair(DSTV const &v, std::pair< A, B > const &p)
static uInt32 F(BLOWFISH_CTX *ctx, uInt32 x)