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 public:
33  static std::string typeOfBuilder() { return "simple#"; }
34 
35  // ---------------- Constructor(s)/Destructor ----------------------
38 
39  // --------------------- Member Functions --------------------------
41  void scaleProduct(TEveElementList* parent, FWViewType::EType, const FWViewContext* vc) override;
43  bool havePerViewProduct(FWViewType::EType) const override { return true; }
45  void localModelChanges(const FWModelId& iId,
46  TEveElement* el,
47  FWViewType::EType viewType,
48  const FWViewContext* vc) override;
49 
51 
52 protected:
53  // --------------------- Member Functions --------------------------
54  void sharedBuild(const reco::PFCluster&, TEveElement&, const FWViewContext*);
55  float calculateEt(const reco::PFCluster& cluster, float E);
56 
57 private:
58  // Disable default copy constructor
60  // Disable default assignment operator
62 };
63 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
64 
65 //-----------------------------------------------------------------------------
66 // FWPFEcalClusterLegoProxyBuilder
67 //-----------------------------------------------------------------------------
68 
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 public:
93  // ---------------- Constructor(s)/Destructor ----------------------
96 
97  // --------------------- Member Functions --------------------------
99  void build(const reco::PFCluster&, unsigned int, TEveElement&, const FWViewContext*) override;
100 
102 
103 private:
106 };
107 #endif
108 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
void localModelChanges(const FWModelId &iId, TEveElement *el, FWViewType::EType viewType, const FWViewContext *vc) override
Particle flow cluster, see clustering algorithm in PFClusterAlgo.
Definition: PFCluster.h:46
const FWPFClusterLegoProxyBuilder & operator=(const FWPFClusterLegoProxyBuilder &)
void scaleProduct(TEveElementList *parent, FWViewType::EType, const FWViewContext *vc) override
void sharedBuild(const reco::PFCluster &, TEveElement &, const FWViewContext *)
#define REGISTER_PROXYBUILDER_METHODS()
float calculateEt(const reco::PFCluster &cluster, float E)
bool havePerViewProduct(FWViewType::EType) const override