Go to the documentation of this file. 1 #ifndef RecoAlgos_ClusterStorer_h
2 #define RecoAlgos_ClusterStorer_h
46 template <
typename ClusterRefType>
51 template <
typename RecHitType>
64 template <
typename RecHitType>
65 void rekey(
const ClusterRefType &newRef)
const;
86 template <
typename HitType,
typename ClusterType>
ClusterHitRecord< SiStripRecHit2D::ClusterRef > StripClusterHitRecord
Assuming that the ClusterRef is the same for all SiStripRecHit*:
ClusterHitRecord(const RecHitType &hit, TrackingRecHitCollection &hits, size_t idx)
uint32_t detid_
private => unusable
ClusterHitRecord< SiPixelRecHit::ClusterRef > PixelClusterHitRecord
void addCluster(TrackingRecHitCollection &hits, size_t index)
add cluster of newHit to list (throws if hit is of unknown type)
ClusterHitRecord< Phase2TrackerRecHit1D::CluRef > Phase2OTClusterHitRecord
uint32_t detid() const
returns the detid
std::vector< PixelClusterHitRecord > pixelClusterRecords_
void clear()
clear records
std::vector< Phase2OTClusterHitRecord > phase2OTClusterRecords_
void rekey(const ClusterRefType &newRef) const
std::vector< StripClusterHitRecord > stripClusterRecords_
TrackingRecHitCollection * hits_
bool operator<(const ClusterHitRecord< ClusterRefType > &other) const
this one is to sort by detid and then by index of the rechit
void processClusters(std::vector< ClusterHitRecord< typename HitType::ClusterRef > > &clusterRecords, edmNew::DetSetVector< ClusterType > &dsvToFill, edm::RefProd< edmNew::DetSetVector< ClusterType > > &refprod)
A struct for clusters associated to hits.
const ClusterRefType & clusterRef() const
this method is to be able to compare and see if two refs are the same
void processAllClusters(edmNew::DetSetVector< SiPixelCluster > &pixelDsvToFill, edm::RefProd< edmNew::DetSetVector< SiPixelCluster > > refPixelClusters, edmNew::DetSetVector< SiStripCluster > &stripDsvToFill, edm::RefProd< edmNew::DetSetVector< SiStripCluster > > refStripClusters)