9 #include "KVDataSetManager.h"
10 #include "KVDataRepositoryManager.h"
11 #include "KVDataSetRepository.h"
92 if (!dr) gDataSetManager =
this;
112 manip_list.
Begin(
" ");
114 while (!manip_list.
End()) {
116 auto manip = manip_list.
Next();
145 task_list.
Begin(
" ");
146 while (!task_list.
End()) {
186 cout <<
" *** No available datasets ***" <<
193 cout <<
"\t" << i <<
". " << ds->
GetTitle() << endl;
284 tmp_file << ds->
GetName() <<
" : ";
452 Info(
"ReadAvailableDataSetsFile",
471 while (!
line.End()) {
521 Info(
"KVDataSetManager::CheckCacheStatus",
"Checking for available datasets cache file...");
530 Info(
"KVDataSetManager::CheckCacheStatus",
"...file found. It is %u seconds old", file_age);
532 Info(
"KVDataSetManager::CheckCacheStatus",
"Using cached file");
536 Info(
"KVDataSetManager::CheckCacheStatus",
"File is too old (max time=%u). Update will be performed.",
fMaxCacheTime);
539 Info(
"KVDataSetManager::CheckCacheStatus",
"...no file found");
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
R__EXTERN TSystem * gSystem
static void OpenTempFile(TString &base, std::ofstream &fp)
static const Char_t * GetWORKDIRFilePath(const Char_t *namefile="")
static Bool_t SearchKVFile(const Char_t *name, TString &fullpath, const Char_t *kvsubdir="")
static Bool_t SearchAndOpenKVFile(const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="")
Define and manage data analysis tasks.
virtual void SetDataAnalyser(const Char_t *d)
void SetOutputDataType(const KVString &p)
virtual void SetPrereq(const Char_t *p)
virtual void SetStatusUpdateInterval(Long64_t n)
virtual void SetUserBaseClass(const Char_t *d)
virtual void SetWithUserClass(Bool_t w=kTRUE)
Manage all datasets contained in a given data repository.
TString fCacheFileName
name of cache file ( = [repository name].available.datasets)
Bool_t Init(KVDataSetRepository *=0)
KVUniqueNameList fDataSets
list of datasets handled by manager
void Print(Option_t *opt="") const
Int_t GetNavailable() const
const KVSeqCollection * GetAnalysisTaskList() const
Bool_t fCacheAvailable
kTRUE if caching is activated for parent repository
Int_t fNavailable
number of available datasets
KVDataAnalysisTask * GetAnalysisTaskAny(const Char_t *keywords) const
Bool_t OpenAvailableDatasetsFile()
Bool_t CheckCacheStatus()
KVDataSetRepository * fRepository
the repository for which data sets are handled
Bool_t ReadAvailableDatasetsFile()
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 * NewDataSet()
Creates and returns pointer to new data set object.
KVUniqueNameList fTasks
list of all known analysis tasks
KVDataSet * GetAvailableDataSet(Int_t) const
std::vector< Int_t > fIndex
array of indices of available datasets
std::ifstream fDatasets
for reading cached repository available datasets file
UInt_t fMaxCacheTime
maximum allowed age of cache file in seconds
A repository for experimental datasets.
void PrintAvailableDatasetsUpdateWarning() const
Manage an experimental dataset corresponding to a given experiment or campaign.
Bool_t IsAvailable() const
void ls(Option_t *opt="") const override
Print dataset information.
void SetRepository(KVDataSetRepository *)
Set pointer to data repository in which dataset is stored.
void AddAvailableDataType(const Char_t *)
void SetAnalysisTasks(const KVSeqCollection *)
const Char_t * GetAvailableDataTypes() const
void SetAvailable(Bool_t yes=kTRUE)
void SetName(const char *name) override
void SetDataPathSubdir(const TString &s)
ValueType Default(ValueType v=ValueType{}) const
Value GetValueOf(Ts... args) const
virtual TObject * FindObjectAny(const Char_t *att, const Char_t *keys, Bool_t contains_all=kFALSE, Bool_t case_sensitive=kTRUE) const
Int_t GetSize() const override
void Clear(Option_t *option="") override
void SetOwner(Bool_t enable=kTRUE) override
TObject * At(Int_t idx) const override
virtual TObject * FindObjectByName(const Char_t *name) const
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
void Begin(TString delim) const
KVString Next(Bool_t strip_whitespace=kFALSE) const
void Add(TObject *obj) override
UInt_t Convert(Bool_t toGMT=kFALSE) const
virtual void SetTitle(const char *title="")
const char * GetName() const override
const char * GetTitle() const override
virtual void SetName(const char *name)
const char * Data() const
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
void Form(const char *fmt,...)
virtual int Chmod(const char *file, UInt_t mode)
virtual int CopyFile(const char *from, const char *to, Bool_t overwrite=kFALSE)
virtual int GetPathInfo(const char *path, FileStat_t &buf)
virtual int Unlink(const char *name)