CMS 3D CMS Logo

PFBlockElementCluster.h
Go to the documentation of this file.
1 #ifndef __PFBlockElementCluster__
2 #define __PFBlockElementCluster__
3 
4 #include <iostream>
5 
10 
11 namespace reco {
12 
16  class PFBlockElementCluster final : public PFBlockElement {
17  public:
19 
24  : PFBlockElement(type), clusterRef_(ref) {}
25 
26  PFBlockElement* clone() const override { return new PFBlockElementCluster(*this); }
27 
29  const PFClusterRef& clusterRef() const override { return clusterRef_; }
31 
33 
34  void Dump(std::ostream& out = std::cout, const char* tab = " ") const override;
35 
36  private:
40  };
41 } // namespace reco
42 
43 #endif
Abstract base class for a PFBlock element (track, cluster...)
PFBlockElementCluster(const PFClusterRef &ref, PFBlockElement::Type type)
constructor. type must be equal to PS1, PS2, ECAL, HCAL.
PFClusterRef clusterRef_
reference to the corresponding cluster
const SuperClusterRef & superClusterRef() const
const PFClusterRef & clusterRef() const override
fixed size matrix
void Dump(std::ostream &out=std::cout, const char *tab=" ") const override
print the object inside the element
PFBlockElement * clone() const override
necessary to have the edm::OwnVector<PFBlockElement> working
void setSuperClusterRef(const SuperClusterRef &ref)