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 {
38  public:
39  // ---------------- Constructor(s)/Destructor ----------------------
42 
43  static std::string typeOfBuilder() { return "simple#"; }
44 
45  // --------------------- Member Functions --------------------------
46  void build( const FWEventItem *iItem, TEveElementList *product, const FWViewContext* ) override;
47 
48  void scaleProduct( TEveElementList *parent, FWViewType::EType, const FWViewContext *vc ) override;
49  bool havePerViewProduct( FWViewType::EType ) const override { return true; }
50  void cleanLocal() override;
51 
52  // Needed by FWPFLegoRecHit
53  TEveVector calculateCentre( const std::vector<TEveVector> & corners ) const;
54  float getMaxValLog(bool et) const { return et ? m_maxEtLog : m_maxEnergyLog; }
55  float getMaxVal( bool et ) const { return et ? m_maxEt : m_maxEnergy; }
56 
58 
59  protected:
60 
61  // --------------------- Member Functions --------------------------
62  void localModelChanges(const FWModelId& iId, TEveElement* iCompound,
63  FWViewType::EType viewType, const FWViewContext* vc) override;
64 
65  private:
66  // Disable default copy constructor
68  // Disable default assignment operator
70 
71  // ----------------------- Data Members ----------------------------
72  float m_maxEnergy;
73  float m_maxEt;
75  float m_maxEtLog;
76  std::vector<FWPFLegoRecHit*> m_recHits;
77 };
78 #endif
79 //=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_
#define REGISTER_PROXYBUILDER_METHODS()
TEveVector calculateCentre(const std::vector< TEveVector > &corners) const
void scaleProduct(TEveElementList *parent, FWViewType::EType, const FWViewContext *vc) override
const FWPFEcalRecHitLegoProxyBuilder & operator=(const FWPFEcalRecHitLegoProxyBuilder &)=delete
et
define resolution functions of each parameter
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