FEDRA emulsion software from the OPERA Collaboration
EdbEDAMCTab Class Reference

#include <EdbEDATabs.h>

Collaboration diagram for EdbEDAMCTab:

Public Member Functions

void Draw (int iMCEvt)
 
 EdbEDAMCTab ()
 
void MakeGUI ()
 
void ShowMCEvt ()
 
void ShowMCEvtMM ()
 
void ShowMCEvtPP ()
 

Private Attributes

bool eLoaded
 
EdbDataProceProc
 
EdbPVRecePVR
 
EdbEDATrackSeteSet
 
TGNumberEntry * fMCEvt
 

Constructor & Destructor Documentation

◆ EdbEDAMCTab()

EdbEDAMCTab::EdbEDAMCTab ( )
inline
98  : eLoaded(kFALSE), eProc(0){
99  MakeGUI();
100  }
void MakeGUI()
Definition: EdbEDATabs.C:384
bool eLoaded
Definition: EdbEDATabs.h:90
EdbDataProc * eProc
Definition: EdbEDATabs.h:93

Member Function Documentation

◆ Draw()

void EdbEDAMCTab::Draw ( int  iMCEvt)
339  {
340 
341  TObjArray *segments = new TObjArray;
342  EdbPVRec *ali = gEDA->GetTrackSet("TS")->GetPVRec();
343  for(int i=0;i<ali->Npatterns();i++){
344  EdbPattern *pat = ali->GetPattern(i);
345  for(int j=0;j<pat->N();j++){
346  EdbSegP *s = pat->GetSegment(j);
347  if(s->MCEvt()==iMCEvt) {
348  segments->Add( s);
349  }
350  }
351  }
352 
354  set->Clear();
355  set->AddSegments(segments);
356 
357  gEDA->GetTrackSet("TS")->SetDraw(kFALSE);
358  gEDA->GetTrackSet("SB")->SetDraw(kFALSE);
359  gEDA->GetTrackSet("SF")->SetDraw(kFALSE);
360  gEDA->GetTrackSet("MN")->SetDraw(kFALSE);
361 
362  gEDA->Redraw();
363  return;
364 }
EdbEDA * gEDA
Definition: EdbEDA.C:3
EdbPVRec * ali
Definition: align.C:1
Definition: EdbEDATrackSet.h:178
EdbPVRec * GetPVRec()
Definition: EdbEDATrackSet.h:320
void SetDraw(bool b=kTRUE)
Definition: EdbEDATrackSet.h:583
void Redraw()
Definition: EdbEDA.h:680
EdbEDATrackSet * GetTrackSet(int i)
Definition: EdbEDA.h:617
Definition: EdbPVRec.h:148
Definition: EdbPattern.h:280
Int_t Npatterns() const
Definition: EdbPattern.h:380
EdbPattern * GetPattern(int id) const
Definition: EdbPattern.cxx:1887
Definition: EdbSegP.h:18
Int_t MCEvt() const
Definition: EdbSegP.h:142
Int_t N() const
Definition: EdbPattern.h:89
EdbSegP * GetSegment(int i) const
Definition: EdbPattern.h:66
EdbScanSet * set
Definition: emtraceback.cpp:14
EdbSegP * s
Definition: tlg2pattern.C:32

◆ MakeGUI()

void EdbEDAMCTab::MakeGUI ( )
384  {
385  TEveBrowser* browser = gEve->GetBrowser();
386  browser->StartEmbedding(TRootBrowser::kBottom);
387 
388  TGMainFrame* frmMain = new TGMainFrame(gClient->GetRoot());
389  frmMain->SetWindowName("XX GUI");
390  frmMain->SetCleanup(kDeepCleanup);
391  frmMain->SetLayoutBroken(kTRUE);
392 
393  TGLabel *fLabel;
394  int posy=10;
395  int posx=10;
396  int dx=50;
397 
398  fLabel = new TGLabel(frmMain,"MCEvt = ");
399  fLabel->MoveResize(posx,posy,dx,20);
400  posx+=dx+5;
401  fMCEvt = new TGNumberEntry(frmMain,0,11,-1,(TGNumberFormat::EStyle) 5);
402  fMCEvt->MoveResize(posx,posy,dx,20);
403 
404  posx+=dx+10;
405  TGTextButton *fb = new TGTextButton(frmMain,"Previous");
406  fb->MoveResize(posx,posy,dx=80,20);
407  fb->Connect("Clicked()","EdbEDAMCTab", this,"ShowMCEvtMM()");
408 
409  posx+=dx+10;
410  fb = new TGTextButton(frmMain,"Show");
411  fb->MoveResize(posx,posy,dx=80,20);
412  fb->Connect("Clicked()","EdbEDAMCTab", this,"ShowMCEvt()");
413 
414  posx+=dx+10;
415  fb = new TGTextButton(frmMain,"Next");
416  fb->MoveResize(posx,posy,dx=80,20);
417  fb->Connect("Clicked()","EdbEDAMCTab", this,"ShowMCEvtPP()");
418 
419  frmMain->MapSubwindows();
420  frmMain->Resize();
421  frmMain->MapWindow();
422 
423  browser->StopEmbedding();
424  browser->SetTabTitle("MC", 2);
425 }
TGNumberEntry * fMCEvt
Definition: EdbEDATabs.h:95

◆ ShowMCEvt()

void EdbEDAMCTab::ShowMCEvt ( )
366  {
367  int iMCEvt = fMCEvt->GetIntNumber();
368  Draw(iMCEvt);
369 }
void Draw(int iMCEvt)
Definition: EdbEDATabs.C:339

◆ ShowMCEvtMM()

void EdbEDAMCTab::ShowMCEvtMM ( )
377  {
378  int iMCEvt = fMCEvt->GetIntNumber();
379  iMCEvt--;
380  fMCEvt->SetNumber(iMCEvt);
381  ShowMCEvt();
382 }
void ShowMCEvt()
Definition: EdbEDATabs.C:366

◆ ShowMCEvtPP()

void EdbEDAMCTab::ShowMCEvtPP ( )
371  {
372  int iMCEvt = fMCEvt->GetIntNumber();
373  iMCEvt++;
374  fMCEvt->SetNumber(iMCEvt);
375  ShowMCEvt();
376 }

Member Data Documentation

◆ eLoaded

bool EdbEDAMCTab::eLoaded
private

◆ eProc

EdbDataProc* EdbEDAMCTab::eProc
private

◆ ePVR

EdbPVRec* EdbEDAMCTab::ePVR
private

◆ eSet

EdbEDATrackSet* EdbEDAMCTab::eSet
private

◆ fMCEvt

TGNumberEntry* EdbEDAMCTab::fMCEvt
private

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