CMS 3D CMS Logo

Namespaces | Classes | Typedefs | Functions

edmNew Namespace Reference

Namespaces

namespace  dslv
namespace  dstvdetails

Classes

class  DetSet
class  DetSetVector

Typedefs

typedef unsigned int det_id_type

Functions

template<typename T , typename B >
void copy (DetSetVector< T > const &dstv, edm::RangeMap< det_id_type, edm::OwnVector< B > > &rm)
template<typename DSTV , typename A , typename B , typename T >
void copyDetSetRange (DSTV const &dstv, std::vector< T const * > &v, std::pair< A, B > const &sel)
template<typename DSTV , typename A , typename B >
DSTV::Range detsetRangeFromPair (DSTV const &v, std::pair< A, B > const &p)
template<typename DSTV , typename A , typename B , typename F >
void foreachDetSetObject (DSTV const &v, std::pair< A, B > const &sel, F &f)
template<class HandleT >
edm::Ref< typename
HandleT::element_type,
typename
HandleT::element_type::value_type::value_type > 
makeRefTo (const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)

Typedef Documentation

typedef uint32_t edmNew::det_id_type

Definition at line 6 of file DetSetNew.h.


Function Documentation

template<typename T , typename B >
void edmNew::copy ( DetSetVector< T > const &  dstv,
edm::RangeMap< det_id_type, edm::OwnVector< B > > &  rm 
)

Definition at line 31 of file DetSet2RangeMap.h.

References edmNew::DetSetVector< T >::begin(), edmNew::DetSetVector< T >::end(), and submit::rm.

Referenced by edmNew::DetSetVector< T >::insert().

                                                        {
    dstvdetails::ToRM<B> torm(rm);
    std::for_each(dstv.begin(), dstv.end(), torm);
  }
template<typename DSTV , typename A , typename B , typename T >
void edmNew::copyDetSetRange ( DSTV const &  dstv,
std::vector< T const * > &  v,
std::pair< A, B > const &  sel 
)

Definition at line 43 of file DetSetAlgorithm.h.

Referenced by HITrackingRegionForPrimaryVtxProducer::estimateMultiplicity(), LayerWithHits::LayerWithHits(), CosmicLayerPairs::selectTECHit(), CosmicLayerPairs::selectTIBHit(), CosmicLayerPairs::selectTOBHit(), and HIProtoTrackFilter::update().

                                                 {
    typename DSTV::Range range = dstv.equal_range(sel.first,sel.second);
    for(typename DSTV::const_iterator id=range.first; id!=range.second; id++){
      size_t cs = v.size();
      v.resize(cs+(*id).size());
      std::transform((*id).begin(), (*id).end(),v.begin()+cs,dstvdetails::Pointer());
    } 
  }
template<typename DSTV , typename A , typename B >
DSTV::Range edmNew::detsetRangeFromPair ( DSTV const &  v,
std::pair< A, B > const &  p 
)

Definition at line 14 of file DetSetAlgorithm.h.

Referenced by foreachDetSetObject().

                                                                                 {
    return v.equal_range(p.first,p.second);
  }
template<typename DSTV , typename A , typename B , typename F >
void edmNew::foreachDetSetObject ( DSTV const &  v,
std::pair< A, B > const &  sel,
F &  f 
)

Definition at line 22 of file DetSetAlgorithm.h.

References detsetRangeFromPair().

                                                                            {
    typedef typename DSTV::data_type data_type;
    typename DSTV::Range range = detsetRangeFromPair(v,sel);
    for(typename DSTV::const_iterator id=range.first; id!=range.second; id++)
      std::for_each((*id).begin(), (*id).end(),
                    boost::function<void(const data_type &)>(boost::ref(f)));
  }
template<class HandleT >
edm::Ref<typename HandleT::element_type, typename HandleT::element_type::value_type::value_type> edmNew::makeRefTo ( const HandleT &  iHandle,
typename HandleT::element_type::value_type::const_iterator  itIter 
)

Definition at line 472 of file DetSetVectorNew.h.

References getHLTprescales::index.

                                                                          {
    BOOST_MPL_ASSERT((boost::is_same<typename HandleT::element_type, DetSetVector<typename HandleT::element_type::value_type::value_type> >));
    typename HandleT::element_type::size_type index = (itIter - &*iHandle->data().begin()); 
    return edm::Ref<typename HandleT::element_type,
               typename HandleT::element_type::value_type::value_type>
              (iHandle,index);
  }