10 #ifndef __KVAVAILABLERUNSFILE_H
11 #define __KVAVAILABLERUNSFILE_H
13 #include <forward_list>
21 #include "KVNumberList.h"
22 #include "KVLockfile.h"
24 #include "KVDataSet.h"
26 #include "KVHashList.h"
27 #include "KVNameValueList.h"
30 #include "run_index.h"
62 else selection +=
" AND index IS NULL";
67 return "filename = '" +
filename +
"'";
73 KVDBRun* run,
bool with_version_and_username =
false);
79 KVDBRun* run,
bool with_version_and_username =
false);
124 virtual void Update(
const std::unique_ptr<KVSQLite::database>& db_handle = {});
#define ClassDef(name, id)
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 filename
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 Atom_t Atom_t Time_t type
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
Handles lists of available runs for different datasets and types of data.
Bool_t CheckDirectoryForAvailableRunsFile()
Bool_t InfosNeedUpdate(const run_index_t &run, const KVString &filename)
virtual void Remove(const run_index_t &run, const KVString &filename="")
Remove from the db ALL entries corresponding to the given run/index (and filename if given)
Bool_t FileExists() const
void UpdateInfos(const run_index_t &run, const KVString &filename, const KVString &kvversion, const KVString &username)
TString GetFileName(const run_index_t &run)
Bool_t ExtractDateFromFileName(const Char_t *name, KVDatime &date)
const Char_t * GetDataType() const
TString SelectRunAndOrIndex(const run_index_t &run)
dataset to which this file belongs
void SetDataSet(const KVDataSet *d)
std::forward_list< run_index_t > CheckMultiRunfiles()
Returns a list with all run/indexes for which more than one file is in the available runs db.
const KVDataSet * fDataSet
Bool_t CheckAvailable(const run_index_t &run)
KVAvailableRunsFile(const Char_t *type, const KVDataSet *parent)
void GetRunInfos(const run_index_t &run, KVList *dates, KVList *names)
virtual void Update(const std::unique_ptr< KVSQLite::database > &db_handle={})
KVString GetFileName() const
virtual std::unique_ptr< KVSQLite::database > OpenAvailableRunsFile(bool called_by_update=false)
const KVDataSet * GetDataSet() const
KVString GetFullPathToAvailableRunsFile() const
KVAvailableRunsFile(const Char_t *type)
KVAvailableRunsFile()=default
run_index_list GetRunList(const KVDBSystem *system=0)
std::optional< run_index_t > IsRunFileName(const Char_t *filename)
TString SelectFileName(const KVString &filename)
bool insert_runfile_into_database(KVDataRepository *repository, const KVBase *objs, KVSQLite::database *RunListTable, const run_index_t &run_num, KVDBRun *run, bool with_version_and_username=false)
KVString GetFilePath() const
static KVString date_read_from_filename
virtual bool get_file_modification_date(KVDataRepository *repository, const KVBase *objs, KVDatime &modt)
virtual void Add(const run_index_t &run, const KVString &filename)
Int_t Count(const run_index_t &run)
std::unique_ptr< TList > GetListOfAvailableSystems(const KVDBSystem *systol=0)
void RemoveDuplicateLines(KVNumberList lines_to_be_removed)
Bool_t GetRunInfo(const run_index_t &run, TDatime &modtime, TString &filename)
Base class for KaliVeda framework.
Description of an experimental run in database ,,.
Database class used to store information on different colliding systems studied during an experiment....
Base class for managing repositories of experimental data.
Manage an experimental dataset corresponding to a given experiment or campaign.
KVString GetDataSetEnv(const Char_t *type, const Char_t *defval="") const
Extension of TDatime to handle various useful date formats.
Extended TList class which owns its objects by default.
Strings used to represent a set of ranges of values.
Interface to ROOT SQLite database backend.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
const char * GetName() const override
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Specifies a runfile according to run number and file index ,.
int index(int no_index=-1) const