CMS 3D CMS Logo

FWPFEcalRecHitLegoProxyBuilder.h
Go to the documentation of this file.
1 #ifndef _FWPFEcalRecHitLegoProxyBuilder_H_
2 #define _FWPFEcalRecHitLegoProxyBuilder_H_
3 
4 // -*- C++ -*-
5 //
6 // Package: ParticleFlow
7 // Class : FWPFEcalRecHitLegoProxyBuilder
8 //
9 // Implementation:
10 // <Notes on implementation>
11 //
12 // Original Author: Simon Harris
13 //
14 
15 // System include files
16 #include <cmath>
17 #include "TEveCompound.h"
18 
19 // User include files
24 
28 
31 
32 //-----------------------------------------------------------------------------
33 // FWPFEcalRecHitLegoProxyBuilder
34 //-----------------------------------------------------------------------------
35 
37 public:
38  // ---------------- Constructor(s)/Destructor ----------------------
41 
42  static std::string typeOfBuilder() { return "simple#"; }
43 
44  // --------------------- Member Functions --------------------------
45  void build(const FWEventItem* iItem, TEveElementList* product, const FWViewContext*) override;
46 
47  void scaleProduct(TEveElementList* parent, FWViewType::EType, const FWViewContext* vc) override;
48  bool havePerViewProduct(FWViewType::EType) const override { return true; }
49  void cleanLocal() override;
50 
51  // Needed by FWPFLegoRecHit
52  TEveVector calculateCentre(const std::vector<TEveVector>& corners) const;
53  float getMaxValLog(bool et) const { return et ? m_maxEtLog : m_maxEnergyLog; }
54  float getMaxVal(bool et) const { return et ? m_maxEt : m_maxEnergy; }
55 
57 
58 protected:
59  // --------------------- Member Functions --------------------------
60  void localModelChanges(const FWModelId& iId,
61  TEveElement* iCompound,
62  FWViewType::EType viewType,
63  const FWViewContext* vc) override;
64 
65 public:
66  // Disable default copy constructor
68  // Disable default assignment operator
70 
71 private:
72  // ----------------------- Data Members ----------------------------
73  float m_maxEnergy;
74  float m_maxEt;
76  float m_maxEtLog;
77  std::vector<FWPFLegoRecHit*> m_recHits;
78 };
79 #endif
80 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
#define REGISTER_PROXYBUILDER_METHODS()
void scaleProduct(TEveElementList *parent, FWViewType::EType, const FWViewContext *vc) override
TEveVector calculateCentre(const std::vector< TEveVector > &corners) const
const FWPFEcalRecHitLegoProxyBuilder & operator=(const FWPFEcalRecHitLegoProxyBuilder &)=delete
bool havePerViewProduct(FWViewType::EType) const override
std::vector< FWPFLegoRecHit * > m_recHits
void localModelChanges(const FWModelId &iId, TEveElement *iCompound, FWViewType::EType viewType, const FWViewContext *vc) override