#include "AliEveTRDLoaderManager.h"
#include "AliEveTRDLoader.h"
#include "AliEveTRDLoaderImp.h"
#include <TEveManager.h>
#include <TGLabel.h>
#include <TGButton.h>
#include <TGComboBox.h>
#include <TGListBox.h>
#include <TClonesArray.h>
#include "AliLog.h"
ClassImp(AliEveTRDLoaderManager)
ClassImp(AliEveTRDLoaderManagerEditor)
AliEveTRDLoaderManager::AliEveTRDLoaderManager(const Text_t* n, const Text_t* t) :
TEveElementList(n, t)
{
}
void AliEveTRDLoaderManager::Add(Int_t type, const Text_t *name, const Text_t *title)
{
AliEveTRDLoader *trdl = 0x0;
switch(type){
case AliEveTRDLoader::kTRDHits:
case AliEveTRDLoader::kTRDDigits:
case AliEveTRDLoader::kTRDClusters:
case AliEveTRDLoader::kTRDTracklets:
AddElement(trdl = new AliEveTRDLoader(name, title));
break;
case AliEveTRDLoader::kTRDRawRoot:
case AliEveTRDLoader::kTRDRawDate:
AddElement(trdl = new AliEveTRDLoaderRaw(name, title));
break;
default:
AddElement(trdl = new AliEveTRDLoaderSim(name, title));
break;
}
trdl->SetDataType(type);
gEve->Redraw3D();
}
void AliEveTRDLoaderManager::Paint(Option_t *option)
{
AliEveTRDLoader *loader(NULL);
List_i ichmb = fChildren.begin();
while(ichmb != fChildren.end()){
if((loader = dynamic_cast<AliEveTRDLoader*>(*ichmb))) loader->Paint(option);
ichmb++;
}
}
void AliEveTRDLoaderManager::Remove(Int_t entry)
{
List_i it = fChildren.begin();
for(int i=0; i<entry; i++) it++;
gEve->RemoveElement((*it), this);
fChildren.erase(it);
}
AliEveTRDLoaderManagerEditor::
AliEveTRDLoaderManagerEditor(const TGWindow* p, Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
TGedFrame(p, width, height, options | kVerticalFrame, back),
fM(0), fSelector(0), fAdd(0), fRemoveButton(0), fGroupFrame(0), fRemove(0)
{
MakeTitle("AliEveTRDLoaderManager");
TGHorizontalFrame *fHorizontalFrame539 = new TGHorizontalFrame(this, 300, 26, kHorizontalFrame);
TGLabel *fLabel546 = new TGLabel(fHorizontalFrame539,"Register Loader",TGLabel::GetDefaultGC()(),TGLabel::GetDefaultFontStruct(),kChildFrame);
fLabel546->SetTextJustify(36);
fHorizontalFrame539->AddFrame(fLabel546, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY,2,2,2,2));
fSelector = new TGComboBox(fHorizontalFrame539,-1,kHorizontalFrame | kSunkenFrame | kDoubleBorder | kOwnBackground);
fSelector->AddEntry("MC (gAlice) ", AliEveTRDLoader::kTRDHits | AliEveTRDLoader::kTRDDigits | AliEveTRDLoader::kTRDClusters);
fSelector->AddEntry("Hits ", AliEveTRDLoader::kTRDHits);
fSelector->AddEntry("Digits ", AliEveTRDLoader::kTRDDigits);
fSelector->AddEntry("Clusters ", AliEveTRDLoader::kTRDClusters);
fSelector->AddEntry("Tracklets ", AliEveTRDLoader::kTRDTracklets);
fSelector->AddEntry("Raw (ROOT) ", AliEveTRDLoader::kTRDRawRoot);
fSelector->AddEntry("Raw (DATE) ", AliEveTRDLoader::kTRDRawDate);
fSelector->Resize(136,22);
fHorizontalFrame539->AddFrame(fSelector, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY,2,2,2,2));
fSelector->Connect("Selected(char*)", "AliEveTRDLoaderManagerEditor", this, "Add(char*)");
AddFrame(fHorizontalFrame539, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX,2,2,2,2));
fGroupFrame = 0;
fRemove = 0;
}
void AliEveTRDLoaderManagerEditor::Add(Char_t *name)
{
if(!fGroupFrame){
fGroupFrame = new TGGroupFrame(this,"TRD Loaders",kVerticalFrame,TGGroupFrame::GetDefaultGC()(),TGGroupFrame::GetDefaultFontStruct());
fGroupFrame->SetLayoutManager(new TGVerticalLayout(fGroupFrame));
fGroupFrame->Resize(300,128);
AddFrame(fGroupFrame, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsExpandX, 2,2,2,2));
fRemove = new TClonesArray("TGTextButton", 3);
}
TGHorizontalFrame *fHorizontalFrame = new TGHorizontalFrame(fGroupFrame, 264, 26, kHorizontalFrame);
TGLabel *fLabel717 = new TGLabel(fHorizontalFrame, name);
fLabel717->SetTextJustify(36);
fHorizontalFrame->AddFrame(fLabel717, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
Int_t nbutton = fM->fChildren.size();
fRemoveButton = new((*fRemove)[nbutton]) TGTextButton(fHorizontalFrame, "Remove", nbutton);
fRemoveButton->SetTextJustify(36);
fRemoveButton->Resize(53,22);
fRemoveButton->Connect("Clicked()", "AliEveTRDLoaderManagerEditor", this, Form("Remove(=%d)", nbutton));
fRemoveButton->SetToolTipText(Form("Remove %s Loader", name));
fHorizontalFrame->AddFrame(fRemoveButton, new TGLayoutHints(kLHintsLeft | kLHintsCenterX | kLHintsTop | kLHintsCenterY,2,2,2,2));
fGroupFrame->AddFrame(fHorizontalFrame, new TGLayoutHints(kLHintsLeft | kLHintsTop | kLHintsCenterY | kLHintsExpandX,2,2,2,2));
MapSubwindows();
Resize(GetDefaultSize());
MapWindow();
const char *title[] = {"MC loader", "Single file loader", "Raw data loader"};
int id = fSelector->GetSelected(), type;
switch(id){
case AliEveTRDLoader::kTRDHits:
case AliEveTRDLoader::kTRDDigits:
case AliEveTRDLoader::kTRDClusters:
case AliEveTRDLoader::kTRDTracklets:
type = 1;
break;
case AliEveTRDLoader::kTRDRawRoot:
case AliEveTRDLoader::kTRDRawDate:
type = 2;
break;
default:
type = 0;
break;
}
fM->Add(id, name, title[type]);
}
void AliEveTRDLoaderManagerEditor::Remove(Int_t entry)
{
TIterator *it = fGroupFrame->GetList()->MakeIterator();
int ientry = 0;
while(it->Next()){
if(entry == ientry){
break;
}
ientry++;
}
MapSubwindows();
Resize(GetDefaultSize());
MapWindow();
}
void AliEveTRDLoaderManagerEditor::SetModel(TObject* obj)
{
fM = dynamic_cast<AliEveTRDLoaderManager*>(obj);
}
AliEveTRDLoaderManager.cxx:1 AliEveTRDLoaderManager.cxx:2 AliEveTRDLoaderManager.cxx:3 AliEveTRDLoaderManager.cxx:4 AliEveTRDLoaderManager.cxx:5 AliEveTRDLoaderManager.cxx:6 AliEveTRDLoaderManager.cxx:7 AliEveTRDLoaderManager.cxx:8 AliEveTRDLoaderManager.cxx:9 AliEveTRDLoaderManager.cxx:10 AliEveTRDLoaderManager.cxx:11 AliEveTRDLoaderManager.cxx:12 AliEveTRDLoaderManager.cxx:13 AliEveTRDLoaderManager.cxx:14 AliEveTRDLoaderManager.cxx:15 AliEveTRDLoaderManager.cxx:16 AliEveTRDLoaderManager.cxx:17 AliEveTRDLoaderManager.cxx:18 AliEveTRDLoaderManager.cxx:19 AliEveTRDLoaderManager.cxx:20 AliEveTRDLoaderManager.cxx:21 AliEveTRDLoaderManager.cxx:22 AliEveTRDLoaderManager.cxx:23 AliEveTRDLoaderManager.cxx:24 AliEveTRDLoaderManager.cxx:25 AliEveTRDLoaderManager.cxx:26 AliEveTRDLoaderManager.cxx:27 AliEveTRDLoaderManager.cxx:28 AliEveTRDLoaderManager.cxx:29 AliEveTRDLoaderManager.cxx:30 AliEveTRDLoaderManager.cxx:31 AliEveTRDLoaderManager.cxx:32 AliEveTRDLoaderManager.cxx:33 AliEveTRDLoaderManager.cxx:34 AliEveTRDLoaderManager.cxx:35 AliEveTRDLoaderManager.cxx:36 AliEveTRDLoaderManager.cxx:37 AliEveTRDLoaderManager.cxx:38 AliEveTRDLoaderManager.cxx:39 AliEveTRDLoaderManager.cxx:40 AliEveTRDLoaderManager.cxx:41 AliEveTRDLoaderManager.cxx:42 AliEveTRDLoaderManager.cxx:43 AliEveTRDLoaderManager.cxx:44 AliEveTRDLoaderManager.cxx:45 AliEveTRDLoaderManager.cxx:46 AliEveTRDLoaderManager.cxx:47 AliEveTRDLoaderManager.cxx:48 AliEveTRDLoaderManager.cxx:49 AliEveTRDLoaderManager.cxx:50 AliEveTRDLoaderManager.cxx:51 AliEveTRDLoaderManager.cxx:52 AliEveTRDLoaderManager.cxx:53 AliEveTRDLoaderManager.cxx:54 AliEveTRDLoaderManager.cxx:55 AliEveTRDLoaderManager.cxx:56 AliEveTRDLoaderManager.cxx:57 AliEveTRDLoaderManager.cxx:58 AliEveTRDLoaderManager.cxx:59 AliEveTRDLoaderManager.cxx:60 AliEveTRDLoaderManager.cxx:61 AliEveTRDLoaderManager.cxx:62 AliEveTRDLoaderManager.cxx:63 AliEveTRDLoaderManager.cxx:64 AliEveTRDLoaderManager.cxx:65 AliEveTRDLoaderManager.cxx:66 AliEveTRDLoaderManager.cxx:67 AliEveTRDLoaderManager.cxx:68 AliEveTRDLoaderManager.cxx:69 AliEveTRDLoaderManager.cxx:70 AliEveTRDLoaderManager.cxx:71 AliEveTRDLoaderManager.cxx:72 AliEveTRDLoaderManager.cxx:73 AliEveTRDLoaderManager.cxx:74 AliEveTRDLoaderManager.cxx:75 AliEveTRDLoaderManager.cxx:76 AliEveTRDLoaderManager.cxx:77 AliEveTRDLoaderManager.cxx:78 AliEveTRDLoaderManager.cxx:79 AliEveTRDLoaderManager.cxx:80 AliEveTRDLoaderManager.cxx:81 AliEveTRDLoaderManager.cxx:82 AliEveTRDLoaderManager.cxx:83 AliEveTRDLoaderManager.cxx:84 AliEveTRDLoaderManager.cxx:85 AliEveTRDLoaderManager.cxx:86 AliEveTRDLoaderManager.cxx:87 AliEveTRDLoaderManager.cxx:88 AliEveTRDLoaderManager.cxx:89 AliEveTRDLoaderManager.cxx:90 AliEveTRDLoaderManager.cxx:91 AliEveTRDLoaderManager.cxx:92 AliEveTRDLoaderManager.cxx:93 AliEveTRDLoaderManager.cxx:94 AliEveTRDLoaderManager.cxx:95 AliEveTRDLoaderManager.cxx:96 AliEveTRDLoaderManager.cxx:97 AliEveTRDLoaderManager.cxx:98 AliEveTRDLoaderManager.cxx:99 AliEveTRDLoaderManager.cxx:100 AliEveTRDLoaderManager.cxx:101 AliEveTRDLoaderManager.cxx:102 AliEveTRDLoaderManager.cxx:103 AliEveTRDLoaderManager.cxx:104 AliEveTRDLoaderManager.cxx:105 AliEveTRDLoaderManager.cxx:106 AliEveTRDLoaderManager.cxx:107 AliEveTRDLoaderManager.cxx:108 AliEveTRDLoaderManager.cxx:109 AliEveTRDLoaderManager.cxx:110 AliEveTRDLoaderManager.cxx:111 AliEveTRDLoaderManager.cxx:112 AliEveTRDLoaderManager.cxx:113 AliEveTRDLoaderManager.cxx:114 AliEveTRDLoaderManager.cxx:115 AliEveTRDLoaderManager.cxx:116 AliEveTRDLoaderManager.cxx:117 AliEveTRDLoaderManager.cxx:118 AliEveTRDLoaderManager.cxx:119 AliEveTRDLoaderManager.cxx:120 AliEveTRDLoaderManager.cxx:121 AliEveTRDLoaderManager.cxx:122 AliEveTRDLoaderManager.cxx:123 AliEveTRDLoaderManager.cxx:124 AliEveTRDLoaderManager.cxx:125 AliEveTRDLoaderManager.cxx:126 AliEveTRDLoaderManager.cxx:127 AliEveTRDLoaderManager.cxx:128 AliEveTRDLoaderManager.cxx:129 AliEveTRDLoaderManager.cxx:130 AliEveTRDLoaderManager.cxx:131 AliEveTRDLoaderManager.cxx:132 AliEveTRDLoaderManager.cxx:133 AliEveTRDLoaderManager.cxx:134 AliEveTRDLoaderManager.cxx:135 AliEveTRDLoaderManager.cxx:136 AliEveTRDLoaderManager.cxx:137 AliEveTRDLoaderManager.cxx:138 AliEveTRDLoaderManager.cxx:139 AliEveTRDLoaderManager.cxx:140 AliEveTRDLoaderManager.cxx:141 AliEveTRDLoaderManager.cxx:142 AliEveTRDLoaderManager.cxx:143 AliEveTRDLoaderManager.cxx:144 AliEveTRDLoaderManager.cxx:145 AliEveTRDLoaderManager.cxx:146 AliEveTRDLoaderManager.cxx:147 AliEveTRDLoaderManager.cxx:148 AliEveTRDLoaderManager.cxx:149 AliEveTRDLoaderManager.cxx:150 AliEveTRDLoaderManager.cxx:151 AliEveTRDLoaderManager.cxx:152 AliEveTRDLoaderManager.cxx:153 AliEveTRDLoaderManager.cxx:154 AliEveTRDLoaderManager.cxx:155 AliEveTRDLoaderManager.cxx:156 AliEveTRDLoaderManager.cxx:157 AliEveTRDLoaderManager.cxx:158 AliEveTRDLoaderManager.cxx:159 AliEveTRDLoaderManager.cxx:160 AliEveTRDLoaderManager.cxx:161 AliEveTRDLoaderManager.cxx:162 AliEveTRDLoaderManager.cxx:163 AliEveTRDLoaderManager.cxx:164 AliEveTRDLoaderManager.cxx:165 AliEveTRDLoaderManager.cxx:166 AliEveTRDLoaderManager.cxx:167 AliEveTRDLoaderManager.cxx:168 AliEveTRDLoaderManager.cxx:169 AliEveTRDLoaderManager.cxx:170 AliEveTRDLoaderManager.cxx:171 AliEveTRDLoaderManager.cxx:172 AliEveTRDLoaderManager.cxx:173 AliEveTRDLoaderManager.cxx:174 AliEveTRDLoaderManager.cxx:175 AliEveTRDLoaderManager.cxx:176 AliEveTRDLoaderManager.cxx:177 AliEveTRDLoaderManager.cxx:178 AliEveTRDLoaderManager.cxx:179 AliEveTRDLoaderManager.cxx:180 AliEveTRDLoaderManager.cxx:181 AliEveTRDLoaderManager.cxx:182 AliEveTRDLoaderManager.cxx:183 AliEveTRDLoaderManager.cxx:184 AliEveTRDLoaderManager.cxx:185 AliEveTRDLoaderManager.cxx:186 AliEveTRDLoaderManager.cxx:187 AliEveTRDLoaderManager.cxx:188 AliEveTRDLoaderManager.cxx:189 AliEveTRDLoaderManager.cxx:190 AliEveTRDLoaderManager.cxx:191 AliEveTRDLoaderManager.cxx:192 AliEveTRDLoaderManager.cxx:193 AliEveTRDLoaderManager.cxx:194 AliEveTRDLoaderManager.cxx:195 AliEveTRDLoaderManager.cxx:196 AliEveTRDLoaderManager.cxx:197 AliEveTRDLoaderManager.cxx:198 AliEveTRDLoaderManager.cxx:199 AliEveTRDLoaderManager.cxx:200 AliEveTRDLoaderManager.cxx:201 AliEveTRDLoaderManager.cxx:202 AliEveTRDLoaderManager.cxx:203 AliEveTRDLoaderManager.cxx:204 AliEveTRDLoaderManager.cxx:205 AliEveTRDLoaderManager.cxx:206 AliEveTRDLoaderManager.cxx:207 AliEveTRDLoaderManager.cxx:208 AliEveTRDLoaderManager.cxx:209 AliEveTRDLoaderManager.cxx:210 AliEveTRDLoaderManager.cxx:211 AliEveTRDLoaderManager.cxx:212 AliEveTRDLoaderManager.cxx:213 AliEveTRDLoaderManager.cxx:214 AliEveTRDLoaderManager.cxx:215 AliEveTRDLoaderManager.cxx:216 AliEveTRDLoaderManager.cxx:217 AliEveTRDLoaderManager.cxx:218 AliEveTRDLoaderManager.cxx:219 AliEveTRDLoaderManager.cxx:220 AliEveTRDLoaderManager.cxx:221 AliEveTRDLoaderManager.cxx:222 AliEveTRDLoaderManager.cxx:223 AliEveTRDLoaderManager.cxx:224 AliEveTRDLoaderManager.cxx:225 AliEveTRDLoaderManager.cxx:226