65 FairRootManager* fRootManager = FairRootManager::Instance();
66 TChain* chain = fRootManager->GetInChain();
69 MakeTitle(
"EventManager Editor");
70 TGVerticalFrame* fInfoFrame = CreateEditorTabSubFrame(
"Event Info");
71 TGCompositeFrame* title1 =
new TGCompositeFrame(fInfoFrame, 250, 10, kVerticalFrame | kLHintsExpandX | kFixedWidth | kOwnBackground);
74 TString InSource =
"File: ";
75 TFile* pChainFile = chain->GetFile();
76 if (pChainFile == NULL)
78 InSource =
"Data Stream";
82 InSource += pChainFile->GetName();
83 TGLabel* TFName =
new TGLabel(title1, InSource.Data());
84 title1->AddFrame(TFName);
87 TGHorizontalFrame* f2 =
new TGHorizontalFrame(title1);
89 UInt_t RunId = FairRunAna::Instance()->getRunId();
90 TString
run = TString::Format(
"Run Id: %d. ", RunId);
91 TGLabel* TRunId =
new TGLabel(f2,
run.Data());
93 TGLabel* EventTimeLabel =
new TGLabel(f2,
" Event Time: ");
96 f2->AddFrame(EventTimeLabel);
100 TString time = TString::Format(
"%.2f ns", FairRootManager::Instance()->GetEventTime());
105 Int_t nodes = gGeoManager->GetNNodes();
106 TString nevent = TString::Format(
"No of events: %d. No. of nodes: %d",
iEventCount, nodes);
107 TGLabel* TEvent =
new TGLabel(title1, nevent.Data());
108 title1->AddFrame(TEvent);
111 TGHorizontalFrame*
f =
new TGHorizontalFrame(title1);
112 TGLabel* l =
new TGLabel(
f,
"Current Event:");
113 f->AddFrame(l,
new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 1, 2, 1, 1));
115 TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative, TGNumberFormat::kNELLimitMinMax, 0,
iEventCount-1);
116 f->AddFrame(
fCurrentEvent,
new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
117 fCurrentEvent->Connect(
"ValueSet(Long_t)",
"MpdEventManagerEditor",
this,
"SelectEvent()");
123 fSave =
new TGPictureButton(
f, gClient->GetPicture(
"save.xpm"), 5);
124 f->AddFrame(
fSave,
new TGLayoutHints(kLHintsLeft| kLHintsCenterY, 1, 2, 1, 1));
125 fSave->Connect(
"Clicked()",
"MpdEventManagerEditor",
this,
"SaveImage()");
129 fVizPri =
new TGCheckButton(title1,
"Primary Only");
130 AddFrame(
fVizPri,
new TGLayoutHints(kLHintsTop, 3, 1, 1, 0));
131 fVizPri->Connect(
"Toggled(Bool_t)",
"MpdEventManagerEditor",
this,
"DoVizPri()");
135 TGHorizontalFrame* f1 =
new TGHorizontalFrame(title1);
136 TGLabel*
L1 =
new TGLabel(f1,
"Select Particles: ");
137 f1->AddFrame(
L1,
new TGLayoutHints(kLHintsLeft|kLHintsCenterY, 1, 2, 1, 1));
140 fCurrentPDGTextEntry->Connect(
"TextChanged(char*)",
"MpdEventManagerEditor",
this,
"SelectPDG()");
141 title1->AddFrame(f1);
151 sliderMinEnergy->Connect(
"ValueSet(Double_t)",
"MpdEventManagerEditor",
this,
"SetMinEnergyCut()");
152 title1->AddFrame(
sliderMinEnergy,
new TGLayoutHints(kLHintsTop, 1, 1, 1, 0));
162 sliderMaxEnergy->Connect(
"ValueSet(Double_t)",
"MpdEventManagerEditor",
this,
"SetMaxEnergyCut()");
163 title1->AddFrame(
sliderMaxEnergy,
new TGLayoutHints(kLHintsTop, 1, 1, 1, 0));
169 fGeometry->Connect(
"Toggled(Bool_t)",
"MpdEventManagerEditor",
this,
"ShowGeometry(Bool_t)");
172 TGeoVolume* magnet = gGeoManager->FindVolumeFast(
"Magnet");
178 ShowMagnetButton->Connect(
"Toggled(Bool_t)",
"MpdEventManagerEditor",
this,
"ShowMagnet(Bool_t)");
184 TGCheckButton* fTransparency =
new TGCheckButton(title1,
"high transparency");
185 title1->AddFrame(fTransparency,
new TGLayoutHints(kLHintsRight | kLHintsExpandX, 5,5,1,1));
186 fTransparency->Connect(
"Toggled(Bool_t)",
"MpdEventManagerEditor",
this,
"SwitchTransparency(Bool_t)");
189 TGCheckButton* backgroundButton =
new TGCheckButton(title1,
"light background");
190 title1->AddFrame(backgroundButton,
new TGLayoutHints(kLHintsRight | kLHintsExpandX, 5,5,1,1));
191 backgroundButton->Connect(
"Toggled(Bool_t)",
"MpdEventManagerEditor",
this,
"SwitchBackground(Bool_t)");
194 backgroundButton->SetOn();
195 gEve->GetViewers()->SwitchColorSet();
199 TGGroupFrame* groupData =
new TGGroupFrame(title1,
"Show MC and reco data");
200 groupData->SetTitlePos(TGGroupFrame::kCenter);
202 TGHorizontalFrame* framePointsInfo =
new TGHorizontalFrame(groupData);
204 fShowMCPoints =
new TGCheckButton(framePointsInfo,
"MC points");
205 framePointsInfo->AddFrame(
fShowMCPoints,
new TGLayoutHints(kLHintsNormal, 0,0,0,0));
206 fShowMCPoints->Connect(
"Toggled(Bool_t)",
"MpdEventManagerEditor",
this,
"ShowMCPoints(Bool_t)");
211 framePointsInfo->AddFrame(
fShowRecoPoints,
new TGLayoutHints(kLHintsRight, 0,0,1,0));
212 fShowRecoPoints->Connect(
"Toggled(Bool_t)",
"MpdEventManagerEditor",
this,
"ShowRecoPoints(Bool_t)");
214 groupData->AddFrame(framePointsInfo,
new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 1,1,5,0));
216 TGHorizontalFrame* frameTracksInfo =
new TGHorizontalFrame(groupData);
218 fShowMCTracks =
new TGCheckButton(frameTracksInfo,
"MC tracks");
219 frameTracksInfo->AddFrame(
fShowMCTracks,
new TGLayoutHints(kLHintsNormal, 0,0,0,0));
220 fShowMCTracks->Connect(
"Toggled(Bool_t)",
"MpdEventManagerEditor",
this,
"ShowMCTracks(Bool_t)");
225 frameTracksInfo->AddFrame(
fShowRecoTracks,
new TGLayoutHints(kLHintsRight, 0,0,1,0));
226 fShowRecoTracks->Connect(
"Toggled(Bool_t)",
"MpdEventManagerEditor",
this,
"ShowRecoTracks(Bool_t)");
229 groupData->AddFrame(frameTracksInfo,
new TGLayoutHints(kLHintsNormal | kLHintsExpandX, 1,1,5,0));
230 title1->AddFrame(groupData,
new TGLayoutHints(kLHintsRight | kLHintsExpandX, 3,15,1,1));
234 fUpdate =
new TGTextButton(title1,
"Start online display");
236 fUpdate =
new TGTextButton(title1,
"Update event");
237 title1->AddFrame(
fUpdate,
new TGLayoutHints(kLHintsRight | kLHintsExpandX, 3,15,1,1));
238 fUpdate->Connect(
"Clicked()",
"MpdEventManagerEditor",
this,
"UpdateEvent()");
241 fInfoFrame->AddFrame(title1,
new TGLayoutHints(kLHintsTop, 0, 0, 2, 0));