FEDRA emulsion software from the OPERA Collaboration
EdbEDAFeedbackEditor Class Reference

#include <EdbDecaySearch.h>

Public Member Functions

void AddTracksButton ()
 
void AddTracksButton ()
 
void AddVerticesButton ()
 
void AddVerticesButton ()
 
 EdbEDAFeedbackEditor ()
 
 EdbEDAFeedbackEditor ()
 
void HandleButtons (Int_t id)
 
void HandleButtons (Int_t id)
 
void HilightElementT (Int_t id)
 
void HilightElementT (Int_t id)
 
void HilightElementV (Int_t id)
 
void HilightElementV (Int_t id)
 
void RemoveTrackTab (Int_t id)
 
void RemoveTrackTab (Int_t id)
 
void RemoveVertexTab (Int_t id)
 
void RemoveVertexTab (Int_t id)
 
 ~EdbEDAFeedbackEditor ()
 
 ~EdbEDAFeedbackEditor ()
 

Private Attributes

TGTextButton * eButton1
 
TGTextButton * eButton2
 
TGTextButton * eButton3
 
TGCompositeFrame * fMainFrame
 
TGTab * fTabTracks
 
TGTab * fTabVertices
 
TObjArray * fTrackEntries
 
TObjArray * fVertexEntries
 

Constructor & Destructor Documentation

◆ EdbEDAFeedbackEditor() [1/2]

EdbEDAFeedbackEditor::EdbEDAFeedbackEditor ( )

Vertex

Tracks

1739 {
1740
1741 TEveWindowSlot *slot = 0;
1742 fTrackEntries = new TObjArray;
1743 fVertexEntries = new TObjArray;
1744
1745 char name[] = "Feedback";
1746
1747 // New Tab
1748 slot = TEveWindow::CreateWindowInTab(gEve->GetBrowser()->GetTabRight());
1749
1750 TGTab *tabs = gEve->GetBrowser()->GetTabRight();
1751 TGTabElement *tab = tabs->GetTabTab(tabs->GetNumberOfTabs()-1);
1752 tab->SetName(name);
1753 tab->ShowClose();
1754
1755 TEveWindowPack* pack1 = slot->MakePack();
1756 pack1->SetElementName(name);
1757 pack1->SetShowTitleBar(kFALSE);
1758 pack1->SetHorizontal();
1759
1760 // Embedded GL viewer.
1761 slot = pack1->NewSlot();
1762 TEveViewer *v = new TEveViewer(name);
1763
1764 // 5.26.00 it works. but 5.22.00 doesn't work.
1765 //v->SpawnGLEmbeddedViewer((TGedEditor *) gEve->GetEditor());
1766
1767 // but below works for both for 5.26 and 5.22
1768 v->SpawnGLViewer((TGedEditor *) gEve->GetEditor());
1769
1770 slot->ReplaceWindow(v);
1771 gEve->GetViewers()->AddElement(v);
1772 v->AddScene(gEve->GetEventScene());
1773
1774
1775 // new Slot = our GUI main
1776 slot = pack1->NewSlot();
1777 fMainFrame = slot->MakeFrame()->GetGUICompositeFrame();
1778 fMainFrame->SetWindowName("Feedback editor");
1779
1780
1782 TGTextButton *fb = new TGTextButton(fMainFrame,"Add Vertices");
1783 fMainFrame->AddFrame(fb, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1784 fb->MoveResize(20,20,80,20);
1785 fb->Connect("Clicked()","EdbEDAFeedbackEditor", this, "AddVerticesButton()");
1786
1787 fTabVertices = new TGTab(fMainFrame);
1788 fTabVertices->SetTab(0);
1789 fTabVertices->Resize(fTabVertices->GetDefaultSize());
1790 fMainFrame->AddFrame(fTabVertices, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1791 fTabVertices->Connect("Selected(Int_t)", "EdbEDAFeedbackEditor", this, "HilightElementV(Int_t)");
1792 fTabVertices->Connect("CloseTab(Int_t)", "EdbEDAFeedbackEditor", this, "RemoveVertexTab(Int_t)");
1793
1795 fb = new TGTextButton(fMainFrame,"Add Tracks");
1796 fMainFrame->AddFrame(fb, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1797 fb->MoveResize(20,20,80,20);
1798 fb->Connect("Clicked()","EdbEDAFeedbackEditor", this, "AddTracksButton()");
1799
1800 fTabTracks = new TGTab(fMainFrame);
1801 fTabTracks->SetTab(0);
1802 fTabTracks->Resize(fTabTracks->GetDefaultSize());
1803 fMainFrame->AddFrame(fTabTracks, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1804 fTabTracks->Connect("Selected(Int_t)", "EdbEDAFeedbackEditor", this, "HilightElementT(Int_t)");
1805 fTabTracks->Connect("CloseTab(Int_t)", "EdbEDAFeedbackEditor", this, "RemoveTrackTab(Int_t)");
1806
1807
1808 fMainFrame->MapSubwindows();
1809
1810 fMainFrame->Resize(fMainFrame->GetDefaultSize());
1811 fMainFrame->MapWindow();
1812 fMainFrame->Resize(490,372);
1813}
TGCompositeFrame * fMainFrame
Definition: EdbDecaySearch.h:534
TGTab * fTabTracks
Definition: EdbDecaySearch.h:535
TObjArray * fVertexEntries
Definition: EdbDecaySearch.h:538
TGTab * fTabVertices
Definition: EdbDecaySearch.h:536
TObjArray * fTrackEntries
Definition: EdbDecaySearch.h:537
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24

◆ ~EdbEDAFeedbackEditor() [1/2]

EdbEDAFeedbackEditor::~EdbEDAFeedbackEditor ( )
1682 {
1683 delete fTabTracks;
1684 delete fMainFrame;
1685}

◆ EdbEDAFeedbackEditor() [2/2]

EdbEDAFeedbackEditor::EdbEDAFeedbackEditor ( )

◆ ~EdbEDAFeedbackEditor() [2/2]

EdbEDAFeedbackEditor::~EdbEDAFeedbackEditor ( )

Member Function Documentation

◆ AddTracksButton() [1/2]

void EdbEDAFeedbackEditor::AddTracksButton ( )

Add a new entry tab for the selected tracks.
if same id is selected more than once, ignore it.

1699 {
1702
1703 printf("%d tracks are selected\n", gEDA->NSelectedTracks());
1704 if(gEDA->NSelectedTracks()==0) return;
1705
1706 for(int i=0;i<gEDA->NSelectedTracks(); i++){
1708 if(e) fTrackEntries->Add(e);
1709 }
1710 fTabTracks->Layout();
1711 fTabTracks->Resize(fTabTracks->GetDefaultSize());
1712
1713 fMainFrame->MapSubwindows();
1714
1715 fMainFrame->Resize(fMainFrame->GetDefaultSize());
1716 fMainFrame->MapWindow();
1717}
EdbEDA * gEDA
Definition: EdbEDA.C:3
class for feedback entry
Definition: EdbDecaySearch.h:483
EdbTrackP * GetSelectedTrack(int i=-1)
Definition: EdbEDA.h:421
int NSelectedTracks()
Definition: EdbEDA.h:419

◆ AddTracksButton() [2/2]

void EdbEDAFeedbackEditor::AddTracksButton ( )

◆ AddVerticesButton() [1/2]

void EdbEDAFeedbackEditor::AddVerticesButton ( )

Add a new entry tab for the selected Vertex.
if same id is selected more than once, ignore it.

1719 {
1723 printf("%d vertices are selected\n", set->N());
1724 if(set->N()==0) return;
1725
1726 for(int i=0;i<set->N(); i++){
1728 if(e) fVertexEntries->Add(e);
1729 }
1730 fTabVertices->Layout();
1731 fTabVertices->Resize(fTabVertices->GetDefaultSize());
1732
1733 fMainFrame->MapSubwindows();
1734
1735 fMainFrame->Resize(fMainFrame->GetDefaultSize());
1736 fMainFrame->MapWindow();
1737}
class for feedback entry
Definition: EdbDecaySearch.h:509
Definition: EdbEDASets.h:143
EdbEDAVertexSet * GetVertexSet()
Definition: EdbEDA.h:660
EdbScanSet * set
Definition: emtraceback.cpp:14

◆ AddVerticesButton() [2/2]

void EdbEDAFeedbackEditor::AddVerticesButton ( )

◆ HandleButtons() [1/2]

void EdbEDAFeedbackEditor::HandleButtons ( Int_t  id)
1676 {
1677 printf("handle buttons\n");
1678 printf("%d\n", id);
1679}

◆ HandleButtons() [2/2]

void EdbEDAFeedbackEditor::HandleButtons ( Int_t  id)

◆ HilightElementT() [1/2]

void EdbEDAFeedbackEditor::HilightElementT ( Int_t  id)
1687 {
1688 TGTabElement *tab = fTabTracks->GetCurrentTab();
1689 EdbEDAFeedbackEntryT *t = (EdbEDAFeedbackEntryT *) fTrackEntries->FindObject(tab->GetName());
1690 if(t) t->HilightElement();
1691}
TTree * t
Definition: check_shower.C:4

◆ HilightElementT() [2/2]

void EdbEDAFeedbackEditor::HilightElementT ( Int_t  id)

◆ HilightElementV() [1/2]

void EdbEDAFeedbackEditor::HilightElementV ( Int_t  id)
1692 {
1693 TGTabElement *tab = fTabVertices->GetCurrentTab();
1694 EdbEDAFeedbackEntryV *t = (EdbEDAFeedbackEntryV *) fVertexEntries->FindObject(tab->GetName());
1695 if(t) t->HilightElement();
1696}

◆ HilightElementV() [2/2]

void EdbEDAFeedbackEditor::HilightElementV ( Int_t  id)

◆ RemoveTrackTab() [1/2]

void EdbEDAFeedbackEditor::RemoveTrackTab ( Int_t  id)
1662 {
1663 TString name = fTabTracks->GetTabTab(id)->GetName();
1664 fTabTracks->RemoveTab(id);
1665 TObject *o = fTrackEntries->FindObject(name);
1666 fTrackEntries->Remove(o);
1667 fTrackEntries->Sort();
1668}
AcqOdyssey * o
Definition: hwinit.C:2

◆ RemoveTrackTab() [2/2]

void EdbEDAFeedbackEditor::RemoveTrackTab ( Int_t  id)

◆ RemoveVertexTab() [1/2]

void EdbEDAFeedbackEditor::RemoveVertexTab ( Int_t  id)
1669 {
1670 TString name = fTabVertices->GetTabTab(id)->GetName();
1671 fTabVertices->RemoveTab(id);
1672 TObject *o = fVertexEntries->FindObject(name);
1673 fVertexEntries->Remove(o);
1674 fVertexEntries->Sort();
1675}

◆ RemoveVertexTab() [2/2]

void EdbEDAFeedbackEditor::RemoveVertexTab ( Int_t  id)

Member Data Documentation

◆ eButton1

TGTextButton * EdbEDAFeedbackEditor::eButton1
private

◆ eButton2

TGTextButton * EdbEDAFeedbackEditor::eButton2
private

◆ eButton3

TGTextButton * EdbEDAFeedbackEditor::eButton3
private

◆ fMainFrame

TGCompositeFrame * EdbEDAFeedbackEditor::fMainFrame
private

◆ fTabTracks

TGTab * EdbEDAFeedbackEditor::fTabTracks
private

◆ fTabVertices

TGTab * EdbEDAFeedbackEditor::fTabVertices
private

◆ fTrackEntries

TObjArray * EdbEDAFeedbackEditor::fTrackEntries
private

◆ fVertexEntries

TObjArray * EdbEDAFeedbackEditor::fVertexEntries
private

The documentation for this class was generated from the following files: