CMS 3D CMS Logo

FWDigitSetProxyBuilder.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWDigitSetProxyBuilder_h
2 #define Fireworks_Core_FWDigitSetProxyBuilder_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWDigitSetProxyBuilder
7 //
16 //
17 // Original Author: Alja Mrak-Tadel
18 // Created: Tue Oct 19 12:00:57 CEST 2010
19 //
20 
21 // system include files
22 
23 // user include files
25 
26 // forward declarations
27 class TEveDigitSet;
28 class TEveBoxSet;
30 
32 {
33 
34 public:
36  ~FWDigitSetProxyBuilder() override;
37 
38  // ---------- const member functions ---------------------
39 
40  bool willHandleInteraction() const override { return true; }
41 
42  // ---------- static member functions --------------------
43 
44  // ---------- member functions ---------------------------
45 
46 protected:
47 
48  // AMT: temproary structure since TEveBoxSet::BFreeBox_t is protected
49  // this workaround should be removed in next root patch
50  struct BFreeBox_t
51  {
52  Int_t fValue;
53  void *fUserData;
54  Float_t fVertices[8][3];
55  BFreeBox_t(Int_t v=0) : fValue(v), fUserData(nullptr) {}
56  };
57 
58 
59  TEveBoxSet* addBoxSetToProduct(TEveElementList* product);
60  void addBox(TEveBoxSet* set, const float* pnts, const FWDisplayProperties& dp);
61  TEveBoxSet* getBoxSet() const { return m_boxSet; }
62 
63 private:
64  FWDigitSetProxyBuilder(const FWDigitSetProxyBuilder&) = delete; // stop default
65 
66  const FWDigitSetProxyBuilder& operator=(const FWDigitSetProxyBuilder&) = delete; // stop default
67 
68  // ---------- member data --------------------------------
69 
70  void modelChanges(const FWModelIds&, Product*) override;
71 
72  static TString getTooltip(TEveDigitSet* set, int idx);
73 
74  TEveDigitSet* digitSet(TEveElement* product);
75 
76  TEveBoxSet* m_boxSet;
77 };
78 
79 
80 #endif
TEveBoxSet * getBoxSet() const
#define nullptr
static TString getTooltip(TEveDigitSet *set, int idx)
bool willHandleInteraction() const override
void modelChanges(const FWModelIds &, Product *) override
std::set< FWModelId > FWModelIds
const FWDigitSetProxyBuilder & operator=(const FWDigitSetProxyBuilder &)=delete
auto dp
Definition: deltaR.h:22
TEveBoxSet * addBoxSetToProduct(TEveElementList *product)
void addBox(TEveBoxSet *set, const float *pnts, const FWDisplayProperties &dp)
TEveDigitSet * digitSet(TEveElement *product)