1 #include "KVDataAnalysisLauncher.h" 
   15 #include "KVDataRepositoryManager.h" 
   16 #include "KVDataRepository.h" 
   17 #include "KVDataSetManager.h" 
   18 #include "KVDataSet.h" 
   19 #include "KVDataAnalysisTask.h" 
   21 #include "KVNucleus.h" 
   23 #include "KVBatchSystemManager.h" 
   25 #include "KVInputDialog.h" 
   26 #include "KVBatchSystemGUI.h" 
   27 #include "KVBatchSystemParametersGUI.h" 
   28 #include <KVRunFile.h> 
   33 #define MAX_LENGTH_SELECTED_RUNS 40 
   57    lbFileList = 
new TGListBox(
this, LB_Files);
 
   58    lbFileList->SetMultipleSelections(
kTRUE);
 
   59    lbFileList->Resize(350, 96);
 
   60    this->AddFrame(lbFileList, eXeY);
 
   64    this->AddFrame(teFileName, eX);
 
   69    boutAdd->SetToolTipText(
"Add a file to the list", TTDELAY);
 
   70    boutAdd->Connect(
"Clicked()",
 
   77    boutRem->SetToolTipText(
"Remove the selected file from the list", TTDELAY);
 
   78    boutRem->Connect(
"Clicked()",
 
   85    boutAllRem->SetToolTipText(
"Remove all files from the list", TTDELAY);
 
   86    boutAllRem->Connect(
"Clicked()",
 
   92    this->AddFrame(cf, eX);
 
  100    this->AddFrame(bout, eX);
 
  104    Resize(GetDefaultSize());
 
  105    SetWindowName(title);
 
  108    fileListString = &fileList;
 
  127       Init(fileList, title);
 
  196          this->CanAdd(fileName.
Data())) {
 
  246    (*fileListString) = 
"";
 
  250          (*fileListString) += 
e->GetText()->GetString();
 
  265    const char* filTypes[] = {
"Shared Object Files", 
"*.so",
 
  291                    "File does not exist",
 
  292                    Form(
"The file \"%s\" does not exist. Nothing added.",
 
  301                       "Not a share object",
 
  302                       Form(
"The file \"%s\" is not a shared object. Nothing added.",
 
  324    boutAdd->SetText(
"Add Directory");
 
  325    boutAdd->SetToolTipText(
"Add a directory to the list.", TTDELAY);
 
  328    boutRem->SetText(
"Remove Directory");
 
  329    boutRem->SetToolTipText(
"Remove the selected directories from the list.", TTDELAY);
 
  332    boutAllRem->SetText(
"Remove All Directories");
 
  333    boutAllRem->SetToolTipText(
"Remove all directories from the list.", TTDELAY);
 
  334    boutAllRem->Layout();
 
  350       Init(fileList, title);
 
  377    const char* filTypes[] = {
"Include Files", 
"*.[h,H]*",
 
  406                    "Directory does not exist",
 
  407                    Form(
"The directory \"%s\" does not exist. Nothing added.",
 
  416                       Form(
"The path \"%s\" is not a directory. Nothing added.",
 
  446    GUIenv = 
new TEnv(
".KVDataAnalysisGUIrc");
 
  448    ResourceNames = 
new TList;
 
  449    ResourceNames->
Add(
new TNamed(
"Repository", 
""));
 
  450    ResourceNames->Add(
new TNamed(
"DataSet", 
""));
 
  451    ResourceNames->Add(
new TNamed(
"Task", 
""));
 
  452    ResourceNames->Add(
new TNamed(
"System", 
""));
 
  453    ResourceNames->Add(
new TNamed(
"Trigger", 
""));
 
  454    NbResNames = ResourceNames->GetEntries();
 
  457    UserClassNames = 
new TList;
 
  461    if (!gDataRepositoryManager) {
 
  463       gDataRepositoryManager->
Init();
 
  485    fMainGuiWidth = 
gEnv->
GetValue(
"KaliVedaGUI.MainGUIWidth", 400);
 
  486    fMainGuiHeight = 
gEnv->
GetValue(
"KaliVedaGUI.MainGUIHeight", 600);
 
  499    cbRepository = 
new TGComboBox(cf, CB_DataRepository);
 
  500    cbRepository->Select(-1);
 
  501    cbRepository->Resize(150, 20);
 
  502    cbRepository->Connect(
"Selected(char*)",
 
  503                          "KVDataAnalysisLauncher",
 
  505                          "SetDataSetList(char*)");
 
  506    cf->
AddFrame(cbRepository, LHtopleft);
 
  509    lab = 
new TGLabel(cf, 
"DATASET : ");
 
  516    cbDataSet->Select(-1);
 
  517    cbDataSet->Resize(150, 20);
 
  518    cbDataSet->Connect(
"Selected(char*)",
 
  519                       "KVDataAnalysisLauncher",
 
  521                       "SetTaskList(char*)");
 
  527    lab = 
new TGLabel(cf, 
"ANALYSIS TASK : ");
 
  535    cbTask->Resize(350, 20);
 
  536    cbTask->Connect(
"Selected(int)",
 
  537                    "KVDataAnalysisLauncher",
 
  539                    "SetSystemList(int)");
 
  548    lvSystems->SetDataColumns(5);
 
  549    lvSystems->SetMaxColumnSize(
gEnv->
GetValue(
"KaliVedaGUI.MaxColWidth", 200));
 
  550    lvSystems->SetDataColumn(1, 
"Zproj");
 
  551    lvSystems->SetDataColumn(2, 
"Ztarget");
 
  552    lvSystems->SetDataColumn(3, 
"Ebeam");
 
  553    lvSystems->GetDataColumn(3)->SetDataFormat(
"%4.1lf");
 
  554    lvSystems->SetDataColumn(4, 
"#Runs", 
"GetNumberRuns");
 
  555    lvSystems->SetDataColumn(0, 
"System", 
"GetName");
 
  556    lvSystems->ActivateSortButtons();
 
  558    lvSystems->AllowBrowse(
kFALSE);
 
  559    lvSystems->AllowContextMenu(
kFALSE);
 
  560    lvSystems->AllowMultipleSelection(
kFALSE);
 
  561    lvSystems->Connect(
"SelectionChanged()", 
"KVDataAnalysisLauncher", 
this, 
"SystemSelectionChanged()");
 
  569    lvRuns->SetDataColumns(8);
 
  570    lvRuns->SetMaxColumnSize(
gEnv->
GetValue(
"KaliVedaGUI.MaxColWidth", 200));
 
  572    lvRuns->SetDataColumn(iicc++, 
"Run", 
"GetRunNumber");
 
  573    lvRuns->SetDataColumn(iicc++, 
"Trigger", 
"");
 
  574    lvRuns->SetDataColumn(iicc++, 
"Events", 
"", 
kTextRight);
 
  575    lvRuns->SetDataColumn(iicc++, 
"File", 
"GetName");
 
  576    lvRuns->SetDataColumn(iicc++, 
"Date", 
"GetFileWritten");
 
  577    lvRuns->SetDataColumn(iicc++, 
"Comments", 
"", 
kTextLeft);
 
  578    lvRuns->SetDataColumn(iicc++, 
"Version");
 
  579    lvRuns->SetDataColumn(iicc++, 
"User");
 
  580    lvRuns->ActivateSortButtons();
 
  582    lvRuns->AllowBrowse(
kFALSE);
 
  583    lvRuns->AllowContextMenu(
kFALSE);
 
  584    lvRuns->Connect(
"SelectionChanged()", 
"KVDataAnalysisLauncher", 
this, 
"UpdateListOfSelectedRuns()");
 
  592    bout->
SetToolTipText(
"Select all runs for the analysis.", TTDELAY);
 
  594                  "KVDataAnalysisLauncher",
 
  601                  "KVDataAnalysisLauncher",
 
  608                  "KVDataAnalysisLauncher",
 
  615    selectedRuns = 
new TGLabel(runs_and_nbevents, 
"Selected Runs :");
 
  621 #ifdef __WITHOUT_TGNUMBERENTRY_SETNUMSTYLE 
  626 #ifdef __WITHOUT_TGNUMBERENTRY_SETNUMATTR 
  631    teNbToRead->GetNumberEntry()->SetToolTipText(
"Number of events to read [0 => all events]", TTDELAY);
 
  632    teNbToRead->Resize(150, 20);
 
  635    cfRuns->
AddFrame(runs_and_nbevents, eX);
 
  637    AddFrame(cfRuns, eXeY);
 
  643    fUserClassLabel = 
new TGLabel(cf, 
"User Class");
 
  646    lab = 
new TGLabel(cf, 
"User class options");
 
  649    cfAnalysis->AddFrame(cf, eX);
 
  653    cbUserClass->Select(-1);
 
  654    cbUserClass->Resize(150, 20);
 
  656    cbUserClass->Connect(
"Selected(char*)", 
"KVDataAnalysisLauncher", 
this,
 
  657                         "UserClassSelected(char*)");
 
  659    btEditClass->SetEnabled(
kFALSE);
 
  660    btEditClass->Connect(
"Clicked()", 
"KVDataAnalysisLauncher", 
this, 
"EditUserClassFiles()");
 
  661    btEditClass->SetToolTipText(
Form(
"Open analysis class source files in %s", 
gSystem->
Getenv(
"EDITOR")), TTDELAY);
 
  665    teUserOptions->SetToolTipText(
"Comma-separated list of options for user analysis class: PAR1=VAL1,PAR2=VAL2,etc.", TTDELAY);
 
  668    cfAnalysis->AddFrame(cf, eX);
 
  670    AddFrame(cfAnalysis, eX);
 
  674    bout = 
new TGTextButton(cf, 
"User's libraries", B_Libs);
 
  676                  "KVDataAnalysisLauncher",
 
  678                  "SetUserLibraries()");
 
  683                  "KVDataAnalysisLauncher",
 
  685                  "SetUserIncludes()");
 
  688    this->AddFrame(cf, eX);
 
  692    cout << 
"Creation Process/Quit" << endl;
 
  696    withBatch->SetToolTipText(gBatchSystem->
GetTitle());
 
  697    withBatch->AllowStayDown(
kTRUE);
 
  698    withBatch->Connect(
"Clicked()", 
"KVDataAnalysisLauncher", 
this, 
"SetBatch()");
 
  700    doBatchParams = 
new TGTextButton(cfProcess, 
"Batch Parameters");
 
  701    doBatchParams->SetToolTipText(
"Set parameters of batch jobs");
 
  702    doBatchParams->Connect(
"Clicked()", 
"KVDataAnalysisLauncher", 
this, 
"SetBatchParameters()");
 
  703    cfProcess->
AddFrame(doBatchParams, eX);
 
  705    bout = 
new TGTextButton(cfProcess, 
"&Process", B_Process);
 
  707    bout->
Connect(
"Clicked()", 
"KVDataAnalysisLauncher", 
this, 
"Process()");
 
  713    bout->
Connect(
"Clicked()", 
"KVDataAnalysisLauncher", 
this, 
"Exit()");
 
  717    this->AddFrame(cfProcess, eX);
 
  721    Resize(GetDefaultSize());
 
  727    SetWMSize(fMainGuiWidth, fMainGuiHeight);
 
  731    FillListOfUserClasses();
 
  734    checkCompilation = 
kFALSE;
 
  737    TString tmp(GetResource(
"Repository", 
""));
 
  738    SetRepository(tmp.
Data());
 
  740    if (GUIenv->GetValue(
"KVDataAnalysisLauncher.Batch", 
kFALSE))
 
  746    fUserLibraries = GUIenv->GetValue(
"KVDataAnalysisLauncher.UserLibraries", 
"");
 
  747    fUserIncludes = GUIenv->GetValue(
"KVDataAnalysisLauncher.UserIncludes", 
"");
 
  773 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL 
  782    while ((o = next())) {
 
  803 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL 
  843 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL 
  850    cout << 
"DataSet : [" << dataset << 
"]" <<  endl;
 
  927    if (current_batch == 
"PROOFLite" && data_reader != 
"TFile") {
 
  930       Info(
"SetSystemList", 
"Switched batch system to %s: %s", gBatchSystem->
GetName(), gBatchSystem->
GetTitle());
 
  932    else if (current_batch == 
"Xterm" && data_reader == 
"TFile") {
 
  935       Info(
"SetSystemList", 
"Switched batch system to %s: %s", gBatchSystem->
GetName(), gBatchSystem->
GetTitle());
 
 1075       cout << 
"Checking connection to remote repository." << endl;
 
 1077          cout << 
"Connection to server refused" << endl;
 
 1078          cout << 
"Process aborted." << endl;
 
 1079          WarningBox(
"Connection refused", 
"Connection to server refused\nProcess aborted.");
 
 1086    bool online_analysis = !strcmp(task->
GetPrereq(), 
"*");
 
 1089    gDataAnalyser = datan;
 
 1097    else if (!online_analysis) {
 
 1098       WarningBox(
"Empty Run List", 
"The list of runs to process is empty.");
 
 1131          WarningBox(
"No User Class", 
"Please enter the user analysis class name.");
 
 1141    if (
IsBatch() && nbEventRead) {
 
 1142       if (!
WarningBox(
"Read all events in batch mode?",
 
 1143                       "This will submit batch jobs which will not read all events.\nAre you sure that is what you want?",
 
 1164       gBatchSystem->
Clear();
 
 1183       return e->GetText()->GetString();
 
 1197       return e->GetText()->GetString();
 
 1211       return e->GetText()->GetString();
 
 1251 #ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T 
 1269    if (!strcmp(
r, 
"")) {
 
 1271 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL 
 1284 #ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T 
 1303    if (!strcmp(
r, 
"")) {
 
 1305 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL 
 1318 #ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T 
 1337    if (!strcmp(
r, 
"")) {
 
 1371    if (!strcmp(
r, 
"")) {
 
 1488       reply = (ret_code & 
kMBYes);
 
 1495 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL 
 1504    Int_t n = 
box->GetListBox()->GetNumberOfEntries();
 
 1505    if (n) 
box->RemoveEntries(0, n - 1);
 
 1506    if (
box->GetSelectedEntry()) {
 
 1511       box->GetTextEntry()->SetTitle(
"");
 
 1525    if (n) 
box->RemoveEntries(0, n - 1);
 
 1526    if (
box->GetSelectedEntry()) {
 
 1627    res.
Prepend(
"KVDataAnalysisLauncher.");
 
 1778    cur_res.
Prepend(
"KVDataAnalysisLauncher.");
 
 1800    saved_res = cur_res;
 
 1805    while ((resource = next_res()) && (i++ < 
index)) {
 
 1815       if (!strcmp(resource->
GetName(), 
"Task") && gDataSet) {
 
 1820       else if (!strcmp(resource->
GetName(), 
"System")) {
 
 1824       else if (!strcmp(resource->
GetName(), 
"Trigger")) {
 
 1836    if (!strcmp(
name, 
"UserClassOptions")) {
 
 1841    if (!ok) saved_res = 
"";
 
 1866    if (!lf.get()) 
return;
 
 1869    TIter next(lf.get());
 
 1907 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL 
 1917    while (i < nbcl + 1) {
 
 1936    if (!strcmp(class_name, 
"[NEW]")) {
 
 1946    if (strcmp(
"", class_name)) {
 
 1973    new KVInputDialog(
this, 
"Enter name of new analysis class", &classname, &ok, 
"Enter name of new analysis class");
 
 1977       ok = ok && 
WarningBox(
"Replacing existing class",
 
 1978                             Form(
"%s is the name of an existing class defined in [%s,%s].\nDo you want to overwrite this class?\n(All existing code will be lost)",
 
 2011 #ifdef __WITHOUT_TGCOMBOBOX_SELECT_BOOL_T 
 2045       return e->GetText()->GetString();
 
 2062 #ifdef __WITHOUT_TGCOMBOBOX_REMOVEALL 
 2107    if (editor == 
"") 
return;
 
 2109    if (uclass == 
"") 
return;
 
 2155       TIter nxt(novolist);
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize MapSubwindows
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize fs
 
char * Form(const char *fmt,...)
 
char * StrDup(const char *str)
 
R__EXTERN TSystem * gSystem
 
virtual const Char_t * GetType() const
 
static Bool_t FindClassSourceFiles(const Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *dir_name=".")
 
KVBatchSystem * GetDefaultBatchSystem() const
 
KVBatchSystem * GetBatchSystem(const Char_t *name)
Get batch system by name.
 
Utility GUI used for setting batch system parameters.
 
void cd()
Make this the default batch system.
 
virtual void SetBatchSystemParameters(const KVNameValueList &)
Use the parameters in the list to set all relevant parameters for batch system.
 
virtual void GetBatchSystemParameterList(KVNameValueList &)
 
virtual void Clear(Option_t *opt="")
 
Database class used to store information on different colliding systems studied during an experiment....
 
virtual void Run()
Check all task variables, then run analyser.
 
void SetBatchSystem(KVBatchSystem *bs)
 
void SetUserClassOptions(const Char_t *o="")
 
void SetUserLibraries(const Char_t *libs=0)
 
void SetUserClass(const Char_t *kvs, Bool_t check=kTRUE)
 
void SetAnalysisTask(KVDataAnalysisTask *at)
 
static KVDataAnalyser * GetAnalyser(const Char_t *plugin)
 
void SetUserIncludes(const Char_t *incDirs=0)
 
Bool_t IsUserClassValid() const
 
void SetNbEventToRead(Long64_t nb=0)
 
GUI for running data analysis tasks.
 
virtual const Char_t * GetDataSet(void)
 
virtual const Char_t * GetRepository(void)
 
TList * UserClassNames
list of user classes present in working directory
 
void SetUserClassList()
Sets the list of all available user classes in the drop down list.
 
const Char_t * GetSavedResource(const Char_t *name, const Char_t *defaultvalue="")
 
virtual void SetRepositoryList(void)
Sets the list of all possible repositories in the repository combo box.
 
virtual void DeselectAll(void)
Deselect all runs currently in the displayed list of runs.
 
void SystemSelectionChanged()
 
virtual void Process(void)
Run the analysis task.
 
void SetUserClass(const Char_t *)
 
TGCompositeFrame * cfAnalysis
 
Int_t NbResNames
number of names in list
 
TGPictureButton * btEditClass
 
KVNumberList listOfSystemRuns
 
void DisableUserClassList()
Remove all entries from user class combo box & disable text entry.
 
TList * ResourceNames
used by Get/SetResource
 
virtual void SetUserIncludes(void)
Set the User's includes.
 
Bool_t SetBatchParameters()
 
KVDBSystem * lastSelectedSystem
 
void UserClassSelected(char *)
 
TGComboBox * cbRepository
 
TString SystemBatchName()
Get the system name for the batch name.
 
virtual void SetRepository(const Char_t *r="")
 
void EnableUserClassList()
 
virtual void SetRuns(const Char_t *s="")
 
virtual void SetRunsList()
Sets the list of all available runs in the runs list box.
 
const Char_t * GetResource(const Char_t *name, const Char_t *defaultvalue="")
 
void ClearListOfSelectedRuns()
Empty displayed list of selected runs.
 
virtual void SetSystemList(Int_t s)
 
virtual void EnterRunlist(void)
 
void SetResource(const Char_t *name, const Char_t *value)
 
void EditUserClassFiles()
 
std::unique_ptr< TList > list_of_runs
 
virtual Bool_t WarningBox(const char *title="Warning", const char *msg="Warning", Bool_t confirm=kFALSE)
 
TGTextButton * doBatchParams
 
void FillListOfUserClasses()
 
virtual void SelectAll(void)
Select all runs currently in the displayed list of runs.
 
virtual const Char_t * GetRuns(void)
 
void BuildResourceName(const Char_t *name, TString &, TString &)
 
KVDataSetAnalyser * GetDataAnalyser(KVDataAnalysisTask *task=0)
 
virtual const Char_t * GetTask(void)
 
virtual Bool_t IsBatch(void)
 
const Char_t * GetUserClass()
Returns currently selected user class name.
 
virtual void SetDataSet(const Char_t *ds="")
 
virtual void SetUserLibraries(void)
Set the User's libraries.
 
TEnv * GUIenv
Declaration des boutons de la fenetre principale.
 
TGTextEntry * teUserOptions
 
TGNumberEntry * teNbToRead
 
virtual const Char_t * GetSystem(void)
 
void UpdateListOfSelectedRuns()
 
void GenerateNewUserClass()
 
virtual void SetSystem(const Char_t *s="")
 
KVNameValueList fBatchParameters
 
virtual void SetDataSetList(Char_t *s)
Sets the list of all available data sets in the data sets combo box.
 
virtual void SetTaskList(Char_t *s)
 
~KVDataAnalysisLauncher()
Destructeur.
 
virtual void SetTask(const Char_t *t="")
 
Define and manage data analysis tasks.
 
virtual Bool_t WithUserClass() const
 
virtual const Char_t * GetDataAnalyser() const
 
virtual const Char_t * GetUserBaseClass() const
 
virtual const Char_t * GetPrereq() const
 
Manages access to one or more data repositories.
 
KVDataRepository * GetRepository(const Char_t *name) const
 
const TList * GetListOfRepositories() const
 
virtual Bool_t IsRemote() const
Returns kTRUE for remote repositories, kFALSE for local repositories.
 
virtual Bool_t IsConnected()
Always returns kTRUE for local repositories.
 
Pilots user analysis of experimental data.
 
void SetFullRunList(const KVNumberList &nl)
 
void SetDataSet(KVDataSet *ds)
 
void SetRuns(const KVNumberList &nl, Bool_t check=kTRUE)
 
void SetSystem(KVDBSystem *syst)
Set the System used in the analysis.
 
TString SystemBatchName() const
 
virtual Int_t GetNavailable() const
 
KVDataSet * GetDataSet(Int_t) const
Return pointer to DataSet using index in list of all datasets, index>=0.
 
virtual KVDataSet * GetAvailableDataSet(Int_t) const
 
virtual TList * GetListOfAvailableSystems(const Char_t *datatype, KVDBSystem *systol=0)
 
KVDataAnalysisTask * GetAnalysisTask(Int_t) const
 
const Char_t * GetDataSetEnv(const Char_t *type, const Char_t *defval="") const
 
virtual Int_t GetNtasks() const
 
KVNumberList GetRunList(const Char_t *data_type, const KVDBSystem *sys=0) const
 
virtual void MakeAnalysisClass(const Char_t *task, const Char_t *classname)
 
virtual KVSeqCollection * GetSystems() const
 
Directory dialogue box for KVDataAnalysisLauncher.
 
virtual void Init(TString &fileList, const Char_t *title)
init window
 
virtual Char_t * GetFileFromDialog(void)
Gets the file name from a TGFileDialog.
 
virtual Bool_t CanAdd(const Char_t *s)
tells whether the file in ths string fn can be added to the list box
 
KVGDirectoryList(TString &st, const Char_t *titre="File list", const TGWindow *p=0, const TGWindow *main=0, Bool_t ok=kTRUE)
Createur.
 
~KVGDirectoryList()
Destructeur.
 
File dialogue box for KVDataAnalysisLauncher.
 
virtual void Done(void)
build the file list string from the content of the TGListBox
 
~KVGFileList()
Destructeur.
 
virtual Bool_t CanAdd(const Char_t *s)
tells whether the file in ths string fn can be added to the list box
 
virtual void AddFile(void)
 
virtual void Init(TString &fileList, const Char_t *title)
Init window.
 
virtual Char_t * GetFileFromDialog(void)
Gets the file name from a TGFileDialog.
 
TGTextButton * boutAllRem
 
virtual void RemoveFiles(void)
Remove all the selected files from the TGListBox.
 
KVGFileList(TString &st, const Char_t *titre="File list", const TGWindow *p=0, const TGWindow *main=0, Bool_t ok=kTRUE)
Createur.
 
virtual void RemoveAllFiles(void)
Remove all the files from the TGListBox.
 
virtual void InitFileList()
 
Enhanced version of ROOT TGListView widget.
 
virtual void UnSelectAll()
 
virtual void Display(const TCollection *l)
 
TObject * GetLastSelectedObject() const
 
void ActivateItemsWithColumnData(const Char_t *colname, KVNumberList data, Bool_t activate=kTRUE)
 
void ActivateItemWithColumnData(const Char_t *colname, const Char_t *data, Bool_t activate=kTRUE)
 
TList * GetSelectedObjects() const
 
void SetFromEnv(TEnv *tenv, const TString &prefix="")
 
Int_t GetNpar() const
return the number of stored parameters
 
Bool_t HasBoolParameter(const Char_t *name) const
 
Bool_t GetBoolValue(const Char_t *name) const
 
void WriteToEnv(TEnv *tenv, const TString &prefix="")
 
Strings used to represent a set of ranges of values.
 
void Inter(const KVNumberList &list)
 
const Char_t * AsString(Int_t maxchars=0) const
 
void SetList(const TString &)
 
void Add(Int_t)
Add value 'n' to the list.
 
void Clear(Option_t *="")
Empty number list, reset it to initial state.
 
Description of an individual run file in an experimental dataset.
 
virtual Int_t GetSize() const
 
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
 
virtual Int_t GetEntries() const
 
virtual void SetOwner(Bool_t enable=kTRUE)
 
virtual const char * GetValue(const char *name, const char *dflt) const
 
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
 
virtual void SaveLevel(EEnvLevel level)
 
void WaitFor(TGWindow *w)
 
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
 
virtual Int_t GetSelected() const
 
void RemoveAll() override
 
virtual TGLBEntry * GetSelectedEntry() const
 
virtual void Select(Int_t id, Bool_t emit=kTRUE)
 
virtual void SetEnabled(Bool_t on=kTRUE)
 
virtual TGLBEntry * FindEntry(const char *s) const
 
virtual void AddEntry(const char *s, Int_t id)
 
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
 
void MapSubwindows() override
 
virtual void Resize(TGDimension size)
 
void MapRaised() override
 
void SetTextJustify(Int_t tmode)
 
void SetText(const char *newText)
 
virtual void RemoveEntry(Int_t id=-1)
 
virtual void AddEntry(const char *s, Int_t id)
 
virtual TGLBEntry * GetEntry(Int_t id) const
 
virtual void GetSelectedEntries(TList *selected)
 
virtual void RemoveEntries(Int_t from_ID, Int_t to_ID)
 
virtual TGLBEntry * FindEntry(const char *s) const
 
virtual void CloseWindow()
 
virtual void SetIntNumber(Long_t val, Bool_t emit=kTRUE)
 
virtual Long_t GetIntNumber() const
 
virtual Double_t GetNumber() const
 
virtual void SetText(const TString &new_label)
 
const char * GetText() const
 
void SetEnabled(Bool_t flag=kTRUE)
 
virtual void SetText(const char *text, Bool_t emit=kTRUE)
 
void Clear(Option_t *option="") override
 
TObject * FindObject(const char *name) const override
 
void Add(TObject *obj) override
 
TObject * Remove(const TObjLinkPtr_t &lnk)
 
TObject * At(Int_t idx) const override
 
const char * GetName() const override
 
const char * GetTitle() const override
 
const TString & GetString() const
 
virtual const char * GetName() const
 
virtual void Info(const char *method, const char *msgfmt,...) const
 
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
 
virtual Int_t IndexOf(const TObject *obj) const
 
int CompareTo(const char *cs, ECaseCompare cmp=kExact) const
 
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
 
const char * Data() const
 
TObjArray * Tokenize(const TString &delim) const
 
TString & Prepend(char c, Ssiz_t rep=1)
 
void Form(const char *fmt,...)
 
TString & Remove(EStripType s, char c)
 
TString & ReplaceAll(const char *s1, const char *s2)
 
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
virtual TList * GetListOfFiles() const
 
virtual void Unload(const char *module)
 
virtual const char * Getenv(const char *env)
 
virtual const char * GetIncludePath()
 
virtual Int_t Exec(const char *shellcmd)
 
virtual void SetIncludePath(const char *includePath)
 
virtual int GetPathInfo(const char *path, FileStat_t &buf)
 
virtual const char * HostName()
 
virtual char * ExpandPathName(const char *path)
 
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
 
int main(int argc, char **argv)