#include "AliEveITSScaledModuleEditor.h"
#include <EveDet/AliEveITSScaledModule.h>
#include <TVirtualPad.h>
#include <TGedEditor.h>
#include <TGLabel.h>
#include <TG3DLine.h>
#include <TGNumberEntry.h>
#include <TGComboBox.h>
ClassImp(AliEveITSScaledModuleEditor)
AliEveITSScaledModuleEditor::AliEveITSScaledModuleEditor(const TGWindow *p, Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
TGedFrame(p, width, height, options | kVerticalFrame, back),
fModule(0),
fScale(0),
fStatistic(0),
fInfoFrame(0),
fInfoLabel0(0),
fInfoLabel1(0)
{
MakeTitle("AliEveITSScaledModule");
{
TGHorizontalFrame* f = new TGHorizontalFrame(this);
TGLabel *l = new TGLabel(f, "Scale:");
f->AddFrame(l, new TGLayoutHints(kLHintsTop | kLHintsCenterY, 0, 5, 1, 1));
fScale = new TGNumberEntry(f, 0, 2, -1,
TGNumberFormat::kNESInteger, TGNumberFormat::kNEAPositive,
TGNumberFormat::kNELLimitMinMax, 1, 5);
fScale->GetNumberEntry()->SetToolTipText("Set cell size.");
f->AddFrame(fScale, new TGLayoutHints(kLHintsLeft, 1, 7, 1, 1));
fScale->Associate(f);
fScale->Connect("ValueSet(Long_t)", "AliEveITSScaledModuleEditor", this, "DoScale()");
TGLabel* lab = new TGLabel(f, "Statistic:");
f->AddFrame(lab, new TGLayoutHints(kLHintsLeft|kLHintsBottom, 1, 2, 1, 2));
fStatistic = new TGComboBox(f);
fStatistic->AddEntry("Occup", 0);
fStatistic->AddEntry("Average", 1);
fStatistic->AddEntry("RMS", 2);
TGListBox* lb = fStatistic->GetListBox();
lb->Resize(lb->GetWidth(), 3*16);
fStatistic->Resize(74, 20);
fStatistic->Connect("Selected(Int_t)", "AliEveITSScaledModuleEditor", this, "DoStatType(Int_t)");
f->AddFrame(fStatistic, new TGLayoutHints(kLHintsLeft, 1, 2, 1, 1));
AddFrame(f, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
}
CreateInfoFrame();
}
void AliEveITSScaledModuleEditor::CreateInfoFrame()
{
fInfoFrame = CreateEditorTabSubFrame("Info");
TGCompositeFrame *title1 = new TGCompositeFrame(fInfoFrame, 145, 10,
kHorizontalFrame |
kLHintsExpandX |
kFixedWidth |
kOwnBackground);
title1->AddFrame(new TGLabel(title1, "ScaledDigits Info"),
new TGLayoutHints(kLHintsLeft, 1, 1, 0, 0));
title1->AddFrame(new TGHorizontal3DLine(title1),
new TGLayoutHints(kLHintsExpandX, 5, 5, 7, 7));
fInfoFrame->AddFrame(title1, new TGLayoutHints(kLHintsTop, 0, 0, 2, 0));
Int_t lp = 2;
fInfoLabel0 = new TGLabel(fInfoFrame);
fInfoLabel0->SetTextJustify(kTextLeft);
fInfoFrame->AddFrame(fInfoLabel0, new TGLayoutHints(kLHintsLeft|kLHintsExpandX,
lp, 0, 8, 0));
fInfoLabel1 = new TGLabel(fInfoFrame);
fInfoLabel1->SetTextJustify(kTextLeft);
fInfoFrame->AddFrame(fInfoLabel1, new TGLayoutHints(kLHintsLeft|kLHintsExpandX,
lp, 0, 2, 8));
}
void AliEveITSScaledModuleEditor::SetModel(TObject* obj)
{
fModule = static_cast<AliEveITSScaledModule*>(obj);
fScale->SetIntNumber(fModule->GetScaleInfo()->GetScale());
fStatistic->Select(fModule->GetScaleInfo()->GetStatType(), kFALSE);
Int_t cnx, cnz, total;
fModule->GetScaleData(cnx, cnz, total);
fInfoLabel0->SetText(Form("Cell size: Nx=%d Nz=%d", cnx, cnz));
fInfoLabel1->SetText(Form("Num cells: %d", total));
}
void AliEveITSScaledModuleEditor::DoScale()
{
fModule->GetScaleInfo()->ScaleChanged(fScale->GetIntNumber());
Int_t cnx, cnz, total;
fModule->GetScaleData(cnx, cnz, total);
fInfoLabel0->SetText(Form("Cell size: Nx=%d Nz=%d", cnx, cnz));
Update();
fGedEditor->SetModel(fGedEditor->GetPad(), fGedEditor->GetModel(), kButton1Down);
}
void AliEveITSScaledModuleEditor::DoStatType(Int_t v)
{
fModule->GetScaleInfo()->StatTypeChanged(v);
Update();
fGedEditor->SetModel(fGedEditor->GetPad(), fGedEditor->GetModel(), kButton1Down);
}
AliEveITSScaledModuleEditor.cxx:1 AliEveITSScaledModuleEditor.cxx:2 AliEveITSScaledModuleEditor.cxx:3 AliEveITSScaledModuleEditor.cxx:4 AliEveITSScaledModuleEditor.cxx:5 AliEveITSScaledModuleEditor.cxx:6 AliEveITSScaledModuleEditor.cxx:7 AliEveITSScaledModuleEditor.cxx:8 AliEveITSScaledModuleEditor.cxx:9 AliEveITSScaledModuleEditor.cxx:10 AliEveITSScaledModuleEditor.cxx:11 AliEveITSScaledModuleEditor.cxx:12 AliEveITSScaledModuleEditor.cxx:13 AliEveITSScaledModuleEditor.cxx:14 AliEveITSScaledModuleEditor.cxx:15 AliEveITSScaledModuleEditor.cxx:16 AliEveITSScaledModuleEditor.cxx:17 AliEveITSScaledModuleEditor.cxx:18 AliEveITSScaledModuleEditor.cxx:19 AliEveITSScaledModuleEditor.cxx:20 AliEveITSScaledModuleEditor.cxx:21 AliEveITSScaledModuleEditor.cxx:22 AliEveITSScaledModuleEditor.cxx:23 AliEveITSScaledModuleEditor.cxx:24 AliEveITSScaledModuleEditor.cxx:25 AliEveITSScaledModuleEditor.cxx:26 AliEveITSScaledModuleEditor.cxx:27 AliEveITSScaledModuleEditor.cxx:28 AliEveITSScaledModuleEditor.cxx:29 AliEveITSScaledModuleEditor.cxx:30 AliEveITSScaledModuleEditor.cxx:31 AliEveITSScaledModuleEditor.cxx:32 AliEveITSScaledModuleEditor.cxx:33 AliEveITSScaledModuleEditor.cxx:34 AliEveITSScaledModuleEditor.cxx:35 AliEveITSScaledModuleEditor.cxx:36 AliEveITSScaledModuleEditor.cxx:37 AliEveITSScaledModuleEditor.cxx:38 AliEveITSScaledModuleEditor.cxx:39 AliEveITSScaledModuleEditor.cxx:40 AliEveITSScaledModuleEditor.cxx:41 AliEveITSScaledModuleEditor.cxx:42 AliEveITSScaledModuleEditor.cxx:43 AliEveITSScaledModuleEditor.cxx:44 AliEveITSScaledModuleEditor.cxx:45 AliEveITSScaledModuleEditor.cxx:46 AliEveITSScaledModuleEditor.cxx:47 AliEveITSScaledModuleEditor.cxx:48 AliEveITSScaledModuleEditor.cxx:49 AliEveITSScaledModuleEditor.cxx:50 AliEveITSScaledModuleEditor.cxx:51 AliEveITSScaledModuleEditor.cxx:52 AliEveITSScaledModuleEditor.cxx:53 AliEveITSScaledModuleEditor.cxx:54 AliEveITSScaledModuleEditor.cxx:55 AliEveITSScaledModuleEditor.cxx:56 AliEveITSScaledModuleEditor.cxx:57 AliEveITSScaledModuleEditor.cxx:58 AliEveITSScaledModuleEditor.cxx:59 AliEveITSScaledModuleEditor.cxx:60 AliEveITSScaledModuleEditor.cxx:61 AliEveITSScaledModuleEditor.cxx:62 AliEveITSScaledModuleEditor.cxx:63 AliEveITSScaledModuleEditor.cxx:64 AliEveITSScaledModuleEditor.cxx:65 AliEveITSScaledModuleEditor.cxx:66 AliEveITSScaledModuleEditor.cxx:67 AliEveITSScaledModuleEditor.cxx:68 AliEveITSScaledModuleEditor.cxx:69 AliEveITSScaledModuleEditor.cxx:70 AliEveITSScaledModuleEditor.cxx:71 AliEveITSScaledModuleEditor.cxx:72 AliEveITSScaledModuleEditor.cxx:73 AliEveITSScaledModuleEditor.cxx:74 AliEveITSScaledModuleEditor.cxx:75 AliEveITSScaledModuleEditor.cxx:76 AliEveITSScaledModuleEditor.cxx:77 AliEveITSScaledModuleEditor.cxx:78 AliEveITSScaledModuleEditor.cxx:79 AliEveITSScaledModuleEditor.cxx:80 AliEveITSScaledModuleEditor.cxx:81 AliEveITSScaledModuleEditor.cxx:82 AliEveITSScaledModuleEditor.cxx:83 AliEveITSScaledModuleEditor.cxx:84 AliEveITSScaledModuleEditor.cxx:85 AliEveITSScaledModuleEditor.cxx:86 AliEveITSScaledModuleEditor.cxx:87 AliEveITSScaledModuleEditor.cxx:88 AliEveITSScaledModuleEditor.cxx:89 AliEveITSScaledModuleEditor.cxx:90 AliEveITSScaledModuleEditor.cxx:91 AliEveITSScaledModuleEditor.cxx:92 AliEveITSScaledModuleEditor.cxx:93 AliEveITSScaledModuleEditor.cxx:94 AliEveITSScaledModuleEditor.cxx:95 AliEveITSScaledModuleEditor.cxx:96 AliEveITSScaledModuleEditor.cxx:97 AliEveITSScaledModuleEditor.cxx:98 AliEveITSScaledModuleEditor.cxx:99 AliEveITSScaledModuleEditor.cxx:100 AliEveITSScaledModuleEditor.cxx:101 AliEveITSScaledModuleEditor.cxx:102 AliEveITSScaledModuleEditor.cxx:103 AliEveITSScaledModuleEditor.cxx:104 AliEveITSScaledModuleEditor.cxx:105 AliEveITSScaledModuleEditor.cxx:106 AliEveITSScaledModuleEditor.cxx:107 AliEveITSScaledModuleEditor.cxx:108 AliEveITSScaledModuleEditor.cxx:109 AliEveITSScaledModuleEditor.cxx:110 AliEveITSScaledModuleEditor.cxx:111 AliEveITSScaledModuleEditor.cxx:112 AliEveITSScaledModuleEditor.cxx:113 AliEveITSScaledModuleEditor.cxx:114 AliEveITSScaledModuleEditor.cxx:115 AliEveITSScaledModuleEditor.cxx:116 AliEveITSScaledModuleEditor.cxx:117 AliEveITSScaledModuleEditor.cxx:118 AliEveITSScaledModuleEditor.cxx:119 AliEveITSScaledModuleEditor.cxx:120 AliEveITSScaledModuleEditor.cxx:121 AliEveITSScaledModuleEditor.cxx:122 AliEveITSScaledModuleEditor.cxx:123 AliEveITSScaledModuleEditor.cxx:124 AliEveITSScaledModuleEditor.cxx:125 AliEveITSScaledModuleEditor.cxx:126 AliEveITSScaledModuleEditor.cxx:127 AliEveITSScaledModuleEditor.cxx:128 AliEveITSScaledModuleEditor.cxx:129 AliEveITSScaledModuleEditor.cxx:130 AliEveITSScaledModuleEditor.cxx:131 AliEveITSScaledModuleEditor.cxx:132 AliEveITSScaledModuleEditor.cxx:133 AliEveITSScaledModuleEditor.cxx:134 AliEveITSScaledModuleEditor.cxx:135 AliEveITSScaledModuleEditor.cxx:136 AliEveITSScaledModuleEditor.cxx:137 AliEveITSScaledModuleEditor.cxx:138 AliEveITSScaledModuleEditor.cxx:139 AliEveITSScaledModuleEditor.cxx:140 AliEveITSScaledModuleEditor.cxx:141 AliEveITSScaledModuleEditor.cxx:142 AliEveITSScaledModuleEditor.cxx:143 AliEveITSScaledModuleEditor.cxx:144 AliEveITSScaledModuleEditor.cxx:145 AliEveITSScaledModuleEditor.cxx:146 AliEveITSScaledModuleEditor.cxx:147 AliEveITSScaledModuleEditor.cxx:148 AliEveITSScaledModuleEditor.cxx:149 AliEveITSScaledModuleEditor.cxx:150