FEDRA emulsion software from the OPERA Collaboration
EdbEDAFeedbackEntryT Class Reference

class for feedback entry More...

#include <EdbDecaySearch.h>

Inheritance diagram for EdbEDAFeedbackEntryT:
Collaboration diagram for EdbEDAFeedbackEntryT:

Public Member Functions

 EdbEDAFeedbackEntryT (EdbTrackP *t, TGTab *parent)
 
 EdbEDAFeedbackEntryT (EdbTrackP *t, TGTab *parent)
 
void HilightElement ()
 
void HilightElement ()
 
void ReplaceEntry ()
 
void ReplaceEntry ()
 
void UpdateGUI ()
 
void UpdateGUI ()
 
 ~EdbEDAFeedbackEntryT ()
 
 ~EdbEDAFeedbackEntryT ()
 

Private Attributes

TGCompositeFrame * eCompositeFrame
 
EdbSegPeSeg
 
TGTabElement * eTabElement
 
TGTextEntry * eTextEntry
 
TGTextEntry * eTextEntryFS
 
TGTextEntry * eTextEntryMom
 
EdbTrackPeTrack
 
EdbTrackPeTrackMom
 
EdbTrackPeTrackSeg
 

Detailed Description

class for feedback entry

Constructor & Destructor Documentation

◆ EdbEDAFeedbackEntryT() [1/2]

EdbEDAFeedbackEntryT::EdbEDAFeedbackEntryT ( EdbTrackP t,
TGTab *  parent 
)
1530 {
1531
1532 if(t==NULL||parent==NULL) return;
1536 // container of "Tab1"
1537 TString name = Form("%d", t->ID());
1538
1539 // Check if same track is already selected or not.
1540 TGCompositeFrame *cf = parent->GetTabContainer(name);
1541 if( cf!=NULL ) {// if it is already selected. stop.
1542 printf("Track %s is already selected\n",name.Data());
1543 delete this;
1544 return;
1545 }
1546
1547 SetName ( name); // name is important to manage entries.
1549 eSeg = t->GetSegmentFirst();
1550
1551 eCompositeFrame = parent->AddTab( name);
1552 eCompositeFrame->SetLayoutManager(new TGVerticalLayout(eCompositeFrame));
1553 eTabElement = parent->GetTabTab(name);
1554 eTabElement->SetName(name);
1555 eTabElement->ShowClose();
1556
1557 // Main Track
1558 TGLabel *fLabel = new TGLabel(eCompositeFrame,"Main Track for ID");
1559 eCompositeFrame->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,10,2));
1560 fLabel->MoveResize(20,20,80,20);
1561
1562 TGTextButton *fb = new TGTextButton(eCompositeFrame,"Replace Track", 10);
1563 eCompositeFrame->AddFrame(fb, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1564 fb->MoveResize(20,20,80,20);
1565 fb->Connect("Clicked()", "EdbEDAFeedbackEntryT", this, "ReplaceEntry()");
1566
1567 eTextEntry = new TGTextEntry(eCompositeFrame, new TGTextBuffer(300));
1568 eTextEntry->SetAlignment(kTextLeft);
1569 eTextEntry->Resize(500,eTextEntry->GetDefaultHeight());
1570 eCompositeFrame->AddFrame(eTextEntry, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1571
1572 // First Segment
1573 fLabel = new TGLabel(eCompositeFrame,"Segment for IP calculation");
1574 eCompositeFrame->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,10,2));
1575 fLabel->MoveResize(20,20,80,20);
1576
1577 fb = new TGTextButton(eCompositeFrame,"Replace Track", 11);
1578 eCompositeFrame->AddFrame(fb, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1579 fb->Connect("Clicked()", "EdbEDAFeedbackEntryT", this, "ReplaceEntry()");
1580 fb->MoveResize(20,20,80,20);
1581
1582 eTextEntryFS = new TGTextEntry(eCompositeFrame, new TGTextBuffer(300));
1583 eTextEntryFS->SetAlignment(kTextLeft);
1584 eTextEntryFS->Resize(500,eTextEntryFS->GetDefaultHeight());
1585 eCompositeFrame->AddFrame(eTextEntryFS, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1586
1587 // RMS Mom
1588 fLabel = new TGLabel(eCompositeFrame,"Main Track for ID");
1589 eCompositeFrame->AddFrame(fLabel, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,10,2));
1590 fLabel->MoveResize(20,20,80,20);
1591
1592 fb = new TGTextButton(eCompositeFrame,"Replace Track", 12);
1593 eCompositeFrame->AddFrame(fb, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1594 fb->Connect("Clicked()", "EdbEDAFeedbackEntryT", this, "ReplaceEntry()");
1595 fb->MoveResize(20,20,80,20);
1596
1597 eTextEntryMom = new TGTextEntry(eCompositeFrame, new TGTextBuffer(300));
1598 eTextEntryMom->SetAlignment(kTextLeft);
1599 eTextEntryMom->Resize(500,eTextEntryMom->GetDefaultHeight());
1600 eCompositeFrame->AddFrame(eTextEntryMom, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2));
1601
1602 UpdateGUI();
1603
1604 eCompositeFrame->Layout();
1605 eCompositeFrame->MapSubwindows();
1606 eCompositeFrame->Resize(eCompositeFrame->GetDefaultSize());
1607 eCompositeFrame->MapWindow();
1608}
graph SetName("Graph")
EdbTrackP * eTrackSeg
Definition: EdbDecaySearch.h:488
TGTextEntry * eTextEntryMom
Definition: EdbDecaySearch.h:495
TGTabElement * eTabElement
Definition: EdbDecaySearch.h:491
TGCompositeFrame * eCompositeFrame
Definition: EdbDecaySearch.h:492
TGTextEntry * eTextEntry
Definition: EdbDecaySearch.h:493
EdbTrackP * eTrackMom
Definition: EdbDecaySearch.h:487
EdbSegP * eSeg
Definition: EdbDecaySearch.h:489
void UpdateGUI()
Definition: EdbEDADecaySearch.C:1502
TGTextEntry * eTextEntryFS
Definition: EdbDecaySearch.h:494
EdbTrackP * eTrack
Definition: EdbDecaySearch.h:486
TTree * t
Definition: check_shower.C:4
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24
#define NULL
Definition: nidaqmx.h:84

◆ ~EdbEDAFeedbackEntryT() [1/2]

EdbEDAFeedbackEntryT::~EdbEDAFeedbackEntryT ( )
inline
499 {
501 if(eTextEntry) delete eTextEntry;
502 }

◆ EdbEDAFeedbackEntryT() [2/2]

EdbEDAFeedbackEntryT::EdbEDAFeedbackEntryT ( EdbTrackP t,
TGTab *  parent 
)

◆ ~EdbEDAFeedbackEntryT() [2/2]

EdbEDAFeedbackEntryT::~EdbEDAFeedbackEntryT ( )
inline
503 {
505 if(eTextEntry) delete eTextEntry;
506 }

Member Function Documentation

◆ HilightElement() [1/2]

void EdbEDAFeedbackEntryT::HilightElement ( )
1495 {
1496 gEve->GetHighlight()->RemoveElements();
1497 TEveElement *el = gEDA->GetEveElement(eTrack);
1498 gEve->GetHighlight()->AddElement(el);
1499 gEve->Redraw3D();
1500}
EdbEDA * gEDA
Definition: EdbEDA.C:3
TEveElement * GetEveElement(TObject *t)
Definition: EdbEDA.h:606

◆ HilightElement() [2/2]

void EdbEDAFeedbackEntryT::HilightElement ( )

◆ ReplaceEntry() [1/2]

void EdbEDAFeedbackEntryT::ReplaceEntry ( )
1462 {
1463
1464 if(gEDA->NSelectedTracks()!=1) {
1465 ErrorMessage("Please select a track.");
1466 return;
1467 }
1468
1470 EdbSegP *s = gEDA->GetSelected(0);
1471
1472 TGButton *btn = (TGButton *) gTQSender;
1473 Int_t id = btn->WidgetId();
1474
1475 switch(id){
1476
1477 case 10:
1478 eTrack=t;
1479 break;
1480 case 11:
1481 eTrackSeg = t;
1482 eSeg = s;
1483 break;
1484 case 12:
1485 eTrackMom = t;
1486 break;
1487
1488 default :
1489 break;
1490 }
1491
1492 UpdateGUI();
1493}
TObjArray * GetSelected(void)
Definition: EdbEDA.h:405
EdbTrackP * GetSelectedTrack(int i=-1)
Definition: EdbEDA.h:421
int NSelectedTracks()
Definition: EdbEDA.h:419
Definition: EdbSegP.h:21
Definition: EdbPattern.h:113
s
Definition: check_shower.C:55
void ErrorMessage(char *title, char *message)
Definition: EdbEDAUtil.C:479

◆ ReplaceEntry() [2/2]

void EdbEDAFeedbackEntryT::ReplaceEntry ( )

◆ UpdateGUI() [1/2]

void EdbEDAFeedbackEntryT::UpdateGUI ( )
1502 {
1503
1504 // Main Track
1505 TEveElement *el = gEDA->GetEveElement(eTrack);
1506 eTextEntry->SetText(el->GetElementName());
1507
1508 // First Segment
1509 EdbSegP *s = eSeg;
1512 char buf[256];
1513
1514 sprintf(buf,"%s itrk %d pl %2d %d %s ph %2d %8.1f %8.1f %7.4f %7.4f chi2 %4.2f",
1515 set->GetName(), t->ID(), s->Plate(), (int)s->ID(), s->Side()? s->Side()==1? "MT1" : "MT2" : "BT",
1516 (int)s->W(), s->X(), s->Y(), s->TX(), s->TY(), s->Chi2());
1517// if(s->MCEvt()>=0) sprintf( buf,"%s MCEvt %d P %7.4f PdgID %6d",buf,s->MCEvt(),s->P(), s->Flag());
1518 eTextEntryFS->SetText(buf);
1519
1520 // Mom
1521 t=eTrackMom;
1523 eTextEntryMom->SetText(Form("%s trk %d pl %d -> %d %8.1f %8.1f %8.1f %7.4f %7.4f %d",
1524 set->GetName(), t->ID(), t->GetSegmentFirst()->Plate(), t->GetSegmentLast()->Plate(),
1525 t->X(),t->Y(),t->Z(),t->TX(),t->TY(), t->Flag()));
1526
1527}
Definition: EdbEDATrackSet.h:178
EdbEDATrackSet * GetTrackSet(int i)
Definition: EdbEDA.h:617
EdbScanSet * set
Definition: emtraceback.cpp:14

◆ UpdateGUI() [2/2]

void EdbEDAFeedbackEntryT::UpdateGUI ( )

Member Data Documentation

◆ eCompositeFrame

TGCompositeFrame * EdbEDAFeedbackEntryT::eCompositeFrame
private

◆ eSeg

EdbSegP * EdbEDAFeedbackEntryT::eSeg
private

◆ eTabElement

TGTabElement * EdbEDAFeedbackEntryT::eTabElement
private

◆ eTextEntry

TGTextEntry * EdbEDAFeedbackEntryT::eTextEntry
private

◆ eTextEntryFS

TGTextEntry * EdbEDAFeedbackEntryT::eTextEntryFS
private

◆ eTextEntryMom

TGTextEntry * EdbEDAFeedbackEntryT::eTextEntryMom
private

◆ eTrack

EdbTrackP * EdbEDAFeedbackEntryT::eTrack
private

◆ eTrackMom

EdbTrackP * EdbEDAFeedbackEntryT::eTrackMom
private

◆ eTrackSeg

EdbTrackP * EdbEDAFeedbackEntryT::eTrackSeg
private

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