KaliVeda
Toolkit for HIC analysis
KVDataSetManager.h
1 /*
2 $Id: KVDataSetManager.h,v 1.9 2007/09/20 11:30:17 franklan Exp $
3 $Revision: 1.9 $
4 $Date: 2007/09/20 11:30:17 $
5 $Author: franklan $
6 */
7 
8 #ifndef __KVDATASETMAN_H
9 #define __KVDATASETMAN_H
10 
11 #include "KVUniqueNameList.h"
12 #include "KVNameValueList.h"
13 #include <vector>
14 #include "KVDataSet.h"
15 #include "KVDataAnalysisTask.h"
16 #include "KVEnv.h"
17 
19 
42 
43  friend class KVDataSet;
44 
45  KVEnv fEnv;
46 
47  std::ifstream fDatasets;
48  KVUniqueNameList fDataSets;
49  KVUniqueNameList fTasks;
50  Int_t fNavailable;
51  std::vector<Int_t> fIndex;
52 
53  Bool_t ReadDataSetList();
54  Bool_t ReadTaskList();
55 
56  KVDataSet* NewDataSet();
57  KVDataSetRepository* fRepository;
58 
59  const KVSeqCollection* GetAnalysisTaskList() const
60  {
61  return &fTasks;
62  }
63  Bool_t OpenAvailableDatasetsFile();
64  Bool_t ReadAvailableDatasetsFile();
65  Bool_t fCacheAvailable;
66  UInt_t fMaxCacheTime;
67  TString fCacheFileName;
68  Bool_t CheckCacheStatus();
69 
70 public:
72 
73  Bool_t Init(KVDataSetRepository* /*rep*/ = 0);
74  void CheckAvailability();
75  void Print(Option_t* opt = "") const;
76  KVDataSet* GetDataSet(Int_t) const;
77  KVDataSet* GetDataSet(const Char_t*);
80  {
81  return fNavailable;
82  }
83  Int_t GetNtotal() const
84  {
85  return fDataSets.GetSize();
86  }
87  KVDataAnalysisTask* GetTask(const Char_t* name);
88  void Update();
89  KVDataAnalysisTask* GetAnalysisTaskAny(const Char_t* keywords) const;
90 
91  ClassDef(KVDataSetManager, 3) //Handles datasets in a data repository
92 };
93 
95 R__EXTERN KVDataSetManager* gDataSetManager;
96 
97 #endif
int Int_t
unsigned int UInt_t
#define R__EXTERN
bool Bool_t
char Char_t
const char Option_t
#define ClassDef(name, id)
Define and manage data analysis tasks.
Manage all datasets contained in a given data repository.
Bool_t Init(KVDataSetRepository *=0)
void Print(Option_t *opt="") const
Int_t GetNavailable() const
KVDataAnalysisTask * GetAnalysisTaskAny(const Char_t *keywords) const
Int_t GetNtotal() const
KVDataAnalysisTask * GetTask(const Char_t *name)
Return pointer to named data analysis task.
KVDataSet * GetDataSet(Int_t) const
Return pointer to DataSet using index in list of all datasets, index>=0.
KVDataSet * GetAvailableDataSet(Int_t) const
A repository for experimental datasets.
Manage an experimental dataset corresponding to a given experiment or campaign.
Definition: KVDataSet.h:146
Extension of TEnv to allow the writing of comments in the file.
Definition: KVEnv.h:18
KaliVeda extensions to ROOT collection classes.
Int_t GetSize() const override
Optimised list in which named objects can only be placed once.