|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #ifndef IREGIONSELECTOR_IREGSELLUT_H
17 #define IREGIONSELECTOR_IREGSELLUT_H
79 std::sort(
vec.begin(),
vec.end());
80 vec.erase(std::unique(
vec.begin(),
vec.end()),
vec.end());
84 template<
typename C,
typename T>
87 template<
typename C,
typename T>
92 for (
unsigned iroi=roi.
size() ; iroi-- ; ) IDList<C>( *(roi.
at(iroi)), idlist, lister );
97 (
dynamic_cast<const C*
>(
this)->*lister)( roi, idlist );
102 template<
typename C,
typename T>
105 template<
typename C,
typename T>
110 for (
unsigned iroi=roi.
size() ; iroi-- ; ) IDList_layer<C>(
layer, *(roi.
at(iroi)), idlist, lister );
115 (
dynamic_cast<const C*
>(
this)->*lister)(
layer, roi, idlist );
125 #endif // IREGIONSELECTOR_IREGSELLUT_H
virtual unsigned size() const =0
number of constituents
std::vector< size_t > vec
virtual void HashIDList(long layer, const IRoiDescriptor &roi, std::vector< IdentifierHash > &idlist) const =0
HashIDList interface declaration. return list of non-repeated IdentifierHash.
void IDList(const IRoiDescriptor &roi, std::vector< T > &idlist, handler< C, T > lister) const
Describes the API of the Region of Ineterest geometry.
void(C::*)(long layer, const IRoiDescriptor &, std::vector< T > &) const handler_layer
void(C::*)(const IRoiDescriptor &, std::vector< T > &) const handler
void IDList_layer(long layer, const IRoiDescriptor &roi, std::vector< T > &idlist, handler_layer< C, T > lister) const
virtual void HashIDList(const IRoiDescriptor &roi, std::vector< IdentifierHash > &idlist) const =0
IdentifierHash methods.
virtual void ROBIDList(const IRoiDescriptor &roi, std::vector< uint32_t > &roblist) const =0
Rob identifier methods methods.
virtual const IRoiDescriptor * at(int i) const =0
find an RoiDescriptor constituent
static void removeDuplicates(std::vector< T > &vec)
useful for removing duplicates if required ...
virtual bool composite() const =0
Super RoI access methods.
virtual void ROBIDList(long layer, const IRoiDescriptor &roi, std::vector< uint32_t > &roblist) const =0
ROBIDList interface declaration. This interface can be used by the ID subdetectors....