CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 // $Id: FWOverlapTableManager.h,v 1.5 2013/04/14 20:41:07 amraktad Exp $
20 //
21 
23 #include "TGeoMatrix.h"
24 #include "TGeoNode.h"
25 #include "TGeoOverlap.h"
26 #include <map>
27 
28 
29 class FWOverlapTableView;
30 class TGeoOverlap;
31 class TGeoIterator;
32 
33 
35 {
36 public:
38  {
39  kVisMarker = BIT(5),
40  kOverlap = BIT(6),
41  kOverlapChild = BIT(7)
42  };
43 
44  class QuadId : public TNamed
45  {
46  public:
47  QuadId():m_ovl(0), m_parentIdx(-1){}
48  QuadId(TGeoOverlap* ovl, int idx){ m_ovl = ovl; m_parentIdx = idx; }
49 
50  virtual ~QuadId(){}
51  virtual const char* GetName() const { return m_ovl->GetTitle(); }
52  virtual const char* GetTitle() const { return m_ovl->GetTitle(); }
53 
54  TGeoOverlap* m_ovl;
56  std::vector<int> m_nodes;
57  };
58 
60  virtual ~FWOverlapTableManager();
61 
62  virtual void recalculateVisibility();
63  virtual void recalculateVisibilityNodeRec(int);
64  void importOverlaps(std::string path, double precision);
65  virtual int numberOfColumns() const {return 6;}
66 
67  virtual std::vector<std::string> getTitles() const;
68 
69  FWTableCellRendererBase* cellRenderer(int iSortedRowNumber, int iCol) const;
70 
71  void getOverlapTitles(int,TString&) const;
72  void printOverlaps(int) const;
73 
74  void setDaughtersSelfVisibility(int i, bool v);
75 protected:
76  virtual bool nodeIsParent(const NodeInfo&) const;
77  // virtual const char* cellName(const NodeInfo& data) const;
78 
79 private:
80  FWOverlapTableManager(const FWOverlapTableManager&); // stop default
81  const FWOverlapTableManager& operator=(const FWOverlapTableManager&); // stop default
82 
83  void addOverlapEntry(TGeoOverlap*, int, int , TGeoHMatrix*);
85 
86  std::multimap<int, int> m_mapNodeOverlaps;
87 };
88 
89 
90 #endif
int i
Definition: DBlmapReader.cc:9
std::multimap< int, int > m_mapNodeOverlaps
const FWOverlapTableManager & operator=(const FWOverlapTableManager &)
void addOverlapEntry(TGeoOverlap *, int, int, TGeoHMatrix *)
virtual void recalculateVisibilityNodeRec(int)
void getOverlapTitles(int, TString &) const
virtual std::vector< std::string > getTitles() const
returns the title names for each column
FWTableCellRendererBase * cellRenderer(int iSortedRowNumber, int iCol) const
FWOverlapTableManager(FWOverlapTableView *)
virtual void recalculateVisibility()
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
void setDaughtersSelfVisibility(int i, bool v)
virtual int numberOfColumns() const
Number of columns in the table.
QuadId(TGeoOverlap *ovl, int idx)
virtual const char * GetName() const
virtual const char * GetTitle() const
virtual bool nodeIsParent(const NodeInfo &) const
void importOverlaps(std::string path, double precision)
FWOverlapTableView * m_browser