CMS 3D CMS Logo

FWPFClusterLegoProxyBuilder.h
Go to the documentation of this file.
1 #ifndef _FWPFCLUSTERLEGOPROXYBUILDER_H_
2 #define _FWPFCLUSTERLEGOPROXYBUILDER_H_
3 
4 // -*- C++ -*-
5 //
6 // Package: ParticleFlow
7 // Class : FWPFClusterLegoProxyBuilder, FWPFEcalClusterLegoProxyBuilder, FWPFHcalClusterLegoProxyBuilder
8 //
9 // Implementation:
10 // <Notes on implementation>
11 //
12 // Original Author: Simon Harris
13 //
14 
15 // System include files
16 #include <cmath>
17 #include "TEveBox.h"
18 
19 // User include files
26 
27 //-----------------------------------------------------------------------------
28 // FWPFClusterLegoProxyBuilder
29 //-----------------------------------------------------------------------------
30 
32 {
33  public:
34  static std::string typeOfBuilder() { return "simple#"; }
35 
36  // ---------------- Constructor(s)/Destructor ----------------------
39 
40  // --------------------- Member Functions --------------------------
42  void scaleProduct( TEveElementList *parent, FWViewType::EType, const FWViewContext *vc ) override;
44  bool havePerViewProduct(FWViewType::EType) const override { return true; }
46  void localModelChanges( const FWModelId &iId, TEveElement *el,
47  FWViewType::EType viewType, const FWViewContext *vc ) override;
48 
50 
51  protected:
52  // --------------------- Member Functions --------------------------
53  void sharedBuild( const reco::PFCluster&, TEveElement&, const FWViewContext* );
54  float calculateEt( const reco::PFCluster &cluster, float E );
55 
56  private:
57  // Disable default copy constructor
59  // Disable default assignment operator
61 };
62 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
63 
64 //-----------------------------------------------------------------------------
65 // FWPFEcalClusterLegoProxyBuilder
66 //-----------------------------------------------------------------------------
67 
69 {
70  public:
71  // ---------------- Constructor(s)/Destructor ----------------------
74 
75  // --------------------- Member Functions --------------------------
77  void build( const reco::PFCluster&, unsigned int, TEveElement&, const FWViewContext* ) override;
78 
80 
81  private:
84 };
85 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
86 
87 //-----------------------------------------------------------------------------
88 // FWPFHcalClusterLegoProxyBuilder
89 //-----------------------------------------------------------------------------
90 
92 {
93  public:
94  // ---------------- Constructor(s)/Destructor ----------------------
97 
98  // --------------------- Member Functions --------------------------
100  void build( const reco::PFCluster&, unsigned int, TEveElement&, const FWViewContext* ) override;
101 
103 
104  private:
107 };
108 #endif
109 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
void localModelChanges(const FWModelId &iId, TEveElement *el, FWViewType::EType viewType, const FWViewContext *vc) override
#define REGISTER_PROXYBUILDER_METHODS()
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:47
const FWPFClusterLegoProxyBuilder & operator=(const FWPFClusterLegoProxyBuilder &)
void scaleProduct(TEveElementList *parent, FWViewType::EType, const FWViewContext *vc) override
void sharedBuild(const reco::PFCluster &, TEveElement &, const FWViewContext *)
float calculateEt(const reco::PFCluster &cluster, float E)
bool havePerViewProduct(FWViewType::EType) const override