CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ClusterRemovalInfo.h
Go to the documentation of this file.
1 #ifndef DataFormats_TrackerRecHit2D_ClusterRemovalInfo_h
2 #define DataFormats_TrackerRecHit2D_ClusterRemovalInfo_h
3 
9 
10 namespace reco {
11 
13  public:
18 
19  typedef std::vector<uint32_t> Indices;
20 
22 
24  const edm::Handle<SiStripClusters> &stripClusters) :
25  pixelProd_(pixelClusters), stripProd_(stripClusters) { }
26 
28  pixelProd_(pixelClusters), stripProd_() { }
29 
31  pixelProd_(), stripProd_(stripClusters) { }
32 
33 
35  stripProd_ = other.stripProd_;
36  pixelProd_ = other.pixelProd_;
37  }
38 
41 
42  const Indices & pixelIndices() const { return pixelIndices_; }
43  const Indices & stripIndices() const { return stripIndices_; }
44 
45  const SiPixelClusterRefProd & pixelRefProd() const { return pixelProd_; }
46  const SiStripClusterRefProd & stripRefProd() const { return stripProd_; }
49 
52 
53  bool hasPixel() const { return pixelProd_.isNonnull(); }
54  bool hasStrip() const { return stripProd_.isNonnull(); }
55 
56  void swap(reco::ClusterRemovalInfo &other) ;
57  private:
63  };
64 
66 
67 }
68 
69 #endif
const SiPixelClusterRefProd & pixelRefProd() const
const SiStripClusterRefProd & stripRefProd() const
const Indices & pixelIndices() const
SiPixelRecHit::ClusterRef::product_type SiPixelClusters
SiPixelClusterRefProd pixelProd_
SiPixelClusterRefProd pixelNewProd_
SiStripRecHit2D::ClusterRef::product_type SiStripClusters
ClusterRemovalInfo(const edm::Handle< SiPixelClusters > &pixelClusters, const edm::Handle< SiStripClusters > &stripClusters)
edm::RefProd< SiPixelClusters > SiPixelClusterRefProd
const SiPixelClusterRefProd & pixelNewRefProd() const
SiStripClusterRefProd stripNewProd_
const Indices & stripIndices() const
void setNewPixelClusters(const edm::OrphanHandle< SiPixelClusters > &pixels)
edm::RefProd< SiStripClusters > SiStripClusterRefProd
C product_type
etc. etc.: more nesting levels could be supported ...
Definition: Ref.h:162
std::vector< uint32_t > Indices
void getOldClustersFrom(const ClusterRemovalInfo &other)
ClusterRemovalInfo(const edm::Handle< SiPixelClusters > &pixelClusters)
const SiStripClusterRefProd & stripNewRefProd() const
void setNewStripClusters(const edm::OrphanHandle< SiStripClusters > &strips)
bool isNonnull() const
Checks for non-null.
Definition: RefProd.h:135
SiStripClusterRefProd stripProd_
ClusterRemovalInfo(const edm::Handle< SiStripClusters > &stripClusters)
void swap(reco::ClusterRemovalInfo &cri1, reco::ClusterRemovalInfo &cri2)
void swap(reco::ClusterRemovalInfo &other)