6 #include "KVDataRepository.h"
227 std::map<int, std::unique_ptr<KVDataRepository>>
fRepos;
235 std::optional<int>
id;
237 id =
fDB[table_name][
"id"].get_data<
int>();
243 fDB[table_name].prepare_data(params);
262 std::optional<TString> xrdsrv = std::nullopt, std::optional<TString> xrdroot = std::nullopt);
267 reaction_id reaction, std::optional<filter_id> filt_id = {});
275 std::optional<TString> xrdsrv = std::nullopt,
276 std::optional<TString> xrdroot = std::nullopt);
283 std::optional<int> run_number = {}, std::optional<TString> data_quality_audit = {}, std::optional<int> gem_decay_per_event = {},
284 std::optional<bool> gem_add_rot_energy = {});
289 std::optional<reaction_id>
GetReactionId(
const KV2Body&, std::optional<double> = std::nullopt,
const TString& ip_units =
"fm")
const;
#define ClassDefOverride(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 result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
char * Form(const char *fmt,...)
Relativistic binary kinematics calculator.
Base class for KaliVeda framework.
Base class for managing repositories of data.
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Interface to ROOT SQLite database backend.
bool select_data_in_list(const TString &tables, const KVNameValueList &selection, const TString &columns="*", bool distinct=false, const TString &anything_else="") const
void get_name_value_list_for_each_row(const TString &table, std::function< bool(const KVNameValueList &)> callback, const TString &selection="", const TString &anything_else="")
void end_data_insertion()
bool get_next_result() const
bool prepare_data_insertion(const TString &)
Manage database of simulations ,.
std::optional< model_id > GetModelId(const TString &, const KVNameValueList &) const
std::map< int, std::unique_ptr< KVDataRepository > > fRepos
void initialize_repository(repository_id id, const TString &root_dir, const TString &access="local", std::optional< TString > xrdsrv=std::nullopt, std::optional< TString > xrdroot=std::nullopt)
Initialize a new data repository with the given informations.
model_id AddModel(const TString &, const KVNameValueList &)
std::optional< reaction_id > GetReactionId(const KV2Body &, std::optional< double >=std::nullopt, const TString &ip_units="fm") const
std::optional< int > find_index_in_table(const TString &table_name, const KVNameValueList ¶ms) const
repository_id AddDataRepository(const TString &root_dir, const TString &access="local", std::optional< TString > xrdsrv=std::nullopt, std::optional< TString > xrdroot=std::nullopt)
KVNameValueList get_data_for_unique_index(const TString &table_name, int id) const
KVSimDataManager()=default
filter_id AddFilter(reaction_id kinematics, const TString &geometry, const TString &filter_type, bool random_phi, std::optional< int > run_number={}, std::optional< TString > data_quality_audit={}, std::optional< int > gem_decay_per_event={}, std::optional< bool > gem_add_rot_energy={})
std::pair< TString, TString > import_file_to_repository(const TString &filepath, repository_id repo, dataset_id dset, reaction_id reac, std::optional< filter_id > filt_id={})
void OpenDataBase(const TString &)
const KVDataRepository & get_data_repository(repository_id id)
dataset_id AddDataSet(const TString &short_description, const TString &model, const KVNameValueList &model_params)
TString GetReactionName(reaction_id id) const
repository_id import_repo
Bool_t import_data_into_repository
void enter_data_row(const TString &table_name, const KVNameValueList ¶ms)
void AddUnfilteredSimulation(const TString &filepath, Int_t events, primary_or_secondary P, dataset_id dataset, reaction_id reaction)
void AddFilteredSimulation(const KVSimFile &f, dataset_id dataset, reaction_id reaction)
KVNameValueList get_params_for_reaction(std::optional< double > opt, bool reaction, const KV2Body &R, const TString &ip_units) const
void add_file_to_collection(const TString &method_name, const TString &table_name, KVNameValueList ¶ms, const TString &filepath, dataset_id dataset, reaction_id reaction, std::optional< filter_id > filt_id={})
void AddFilesFromDirectory(dataset_id dataset, reaction_id reaction, const TString &dirpath)
Use KVSimDir to analyse files in directory, all supposed to correspond to the same reaction,...
reaction_id AddReaction(const KV2Body &, std::optional< double >=std::nullopt, const TString &ip_units="fm")
void ImportFilesToRepository(repository_id=0)
TString GetModelName(model_id id) const
Handle file containing simulated and/or filtered simulated data ,.