CMS 3D CMS Logo

FWOverlapTableManager.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWOverlapTableManager_h
2 #define Fireworks_Core_FWOverlapTableManager_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWOverlapTableManager
7 //
16 //
17 // Original Author:
18 // Created: Wed Jan 4 20:34:38 CET 2012
19 //
20 
22 #include "TGeoMatrix.h"
23 #include "TGeoNode.h"
24 #include "TGeoOverlap.h"
25 #include <map>
26 
27 class FWOverlapTableView;
28 class TGeoOverlap;
29 class TGeoIterator;
30 
32 public:
33  enum OverlapBits { kVisMarker = BIT(5), kOverlap = BIT(6), kOverlapChild = BIT(7) };
34 
35  class QuadId : public TNamed {
36  public:
37  QuadId() : m_ovl(nullptr), m_parentIdx(-1) {}
38  QuadId(TGeoOverlap* ovl, int idx) {
39  m_ovl = ovl;
40  m_parentIdx = idx;
41  }
42 
43  ~QuadId() override {}
44  const char* GetName() const override { return m_ovl->GetTitle(); }
45  const char* GetTitle() const override { return m_ovl->GetTitle(); }
46 
47  TGeoOverlap* m_ovl;
49  std::vector<int> m_nodes;
50  };
51 
53  ~FWOverlapTableManager() override;
54 
55  void recalculateVisibility() override;
56  virtual void recalculateVisibilityNodeRec(int);
58  int numberOfColumns() const override { return 6; }
59 
60  std::vector<std::string> getTitles() const override;
61 
62  FWTableCellRendererBase* cellRenderer(int iSortedRowNumber, int iCol) const override;
63 
64  void getOverlapTitles(int, TString&) const;
65  void printOverlaps(int) const;
66 
67  void setDaughtersSelfVisibility(int i, bool v) override;
68 
69 protected:
70  bool nodeIsParent(const NodeInfo&) const override;
71  // virtual const char* cellName(const NodeInfo& data) const;
72 
73 private:
74  FWOverlapTableManager(const FWOverlapTableManager&) = delete; // stop default
75  const FWOverlapTableManager& operator=(const FWOverlapTableManager&) = delete; // stop default
76 
77  void addOverlapEntry(TGeoOverlap*, int, int, TGeoHMatrix*);
79 
80  std::multimap<int, int> m_mapNodeOverlaps;
81 };
82 
83 #endif
FWOverlapTableManager::importOverlaps
void importOverlaps(std::string path, double precision)
Definition: FWOverlapTableManager.cc:59
FWOverlapTableManager::setDaughtersSelfVisibility
void setDaughtersSelfVisibility(int i, bool v) override
Definition: FWOverlapTableManager.cc:481
mps_fire.i
i
Definition: mps_fire.py:428
FWOverlapTableManager::nodeIsParent
bool nodeIsParent(const NodeInfo &) const override
Definition: FWOverlapTableManager.cc:329
boostedTaus_cff.precision
precision
Definition: boostedTaus_cff.py:29
FWOverlapTableManager::QuadId::m_nodes
std::vector< int > m_nodes
Definition: FWOverlapTableManager.h:49
FWOverlapTableManager::QuadId::QuadId
QuadId(TGeoOverlap *ovl, int idx)
Definition: FWOverlapTableManager.h:38
FWOverlapTableManager::m_mapNodeOverlaps
std::multimap< int, int > m_mapNodeOverlaps
Definition: FWOverlapTableManager.h:80
FWOverlapTableManager::getOverlapTitles
void getOverlapTitles(int, TString &) const
Definition: FWOverlapTableManager.cc:344
FWOverlapTableManager::printOverlaps
void printOverlaps(int) const
Definition: FWOverlapTableManager.cc:333
FWOverlapTableManager::~FWOverlapTableManager
~FWOverlapTableManager() override
Definition: FWOverlapTableManager.cc:42
FWOverlapTableManager::cellRenderer
FWTableCellRendererBase * cellRenderer(int iSortedRowNumber, int iCol) const override
Definition: FWOverlapTableManager.cc:384
findQualityFiles.v
v
Definition: findQualityFiles.py:179
FWGeometryTableManagerBase.h
FWOverlapTableManager::kOverlapChild
Definition: FWOverlapTableManager.h:33
FWGeometryTableManagerBase
Definition: FWGeometryTableManagerBase.h:36
FWOverlapTableManager::kOverlap
Definition: FWOverlapTableManager.h:33
heavyIonCSV_trainingSettings.idx
idx
Definition: heavyIonCSV_trainingSettings.py:5
FWOverlapTableManager::OverlapBits
OverlapBits
Definition: FWOverlapTableManager.h:33
FWOverlapTableManager::QuadId::m_ovl
TGeoOverlap * m_ovl
Definition: FWOverlapTableManager.h:47
FWOverlapTableManager::QuadId::GetTitle
const char * GetTitle() const override
Definition: FWOverlapTableManager.h:45
FWOverlapTableManager::QuadId::QuadId
QuadId()
Definition: FWOverlapTableManager.h:37
FWOverlapTableManager::QuadId::GetName
const char * GetName() const override
Definition: FWOverlapTableManager.h:44
FWOverlapTableManager::QuadId
Definition: FWOverlapTableManager.h:35
FWOverlapTableManager::FWOverlapTableManager
FWOverlapTableManager(FWOverlapTableView *)
Definition: FWOverlapTableManager.cc:40
FWOverlapTableManager::getTitles
std::vector< std::string > getTitles() const override
returns the title names for each column
Definition: FWOverlapTableManager.cc:44
FWOverlapTableManager::recalculateVisibilityNodeRec
virtual void recalculateVisibilityNodeRec(int)
Definition: FWOverlapTableManager.cc:309
FWOverlapTableManager::kVisMarker
Definition: FWOverlapTableManager.h:33
FWTableCellRendererBase
Definition: FWTableCellRendererBase.h:44
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
FWOverlapTableManager::numberOfColumns
int numberOfColumns() const override
Number of columns in the table.
Definition: FWOverlapTableManager.h:58
FWOverlapTableManager
Definition: FWOverlapTableManager.h:31
FWOverlapTableManager::operator=
const FWOverlapTableManager & operator=(const FWOverlapTableManager &)=delete
FWOverlapTableManager::m_browser
FWOverlapTableView * m_browser
Definition: FWOverlapTableManager.h:78
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
FWOverlapTableManager::recalculateVisibility
void recalculateVisibility() override
Definition: FWOverlapTableManager.cc:299
FWOverlapTableManager::addOverlapEntry
void addOverlapEntry(TGeoOverlap *, int, int, TGeoHMatrix *)
Definition: FWOverlapTableManager.cc:194
FWOverlapTableManager::QuadId::~QuadId
~QuadId() override
Definition: FWOverlapTableManager.h:43
FWOverlapTableView
Definition: FWOverlapTableView.h:32
FWOverlapTableManager::QuadId::m_parentIdx
int m_parentIdx
Definition: FWOverlapTableManager.h:48