34 TDatime ts_start_datetime;
36 TDatime* ts_end_datetime;
38 TString str_beam_particle;
40 TString str_target_particle;
44 double* d_field_voltage;
57 TDatime start_datetime,
58 TDatime* end_datetime,
59 TString beam_particle,
60 TString target_particle,
62 double* field_voltage,
77 TDatime start_datetime,
78 TDatime* end_datetime,
79 TString beam_particle,
80 TString target_particle,
82 double* field_voltage,
87 static UniRun*
GetRun(
int period_number,
int run_number);
91 static int DeleteRun(
int period_number,
int run_number);
107 if (ts_end_datetime ==
nullptr)
110 return new TDatime(*ts_end_datetime);
119 if (d_energy ==
nullptr)
122 return new double(*d_energy);
127 if (d_field_voltage ==
nullptr)
130 return new double(*d_field_voltage);
135 if (i_event_count ==
nullptr)
138 return new int(*i_event_count);
143 if (i_geometry_id ==
nullptr)
146 return new int(*i_geometry_id);
209 unsigned char* root_geometry,
210 Long_t size_root_geometry);
214 unsigned char*& root_geometry,
215 Long_t& size_root_geometry);
221 const char* geo_file_path);
227 bool usePrevGeometryIfMissing =
false);
244 static TObjArray*
Search(TObjArray& search_conditions);
249 static UniRun*
GetRun(
int& period_number,
int& run_number,
bool usePrevRunIfMissing);
double * GetEnergy()
get energy of the current run
static int PrintAll()
print all runs
void Print()
print information about current run
int GetRunType()
get run type of the current run
static UniRun * GetRun(int period_number, int run_number)
get run from the database
int SetEndDatetime(TDatime *end_datetime)
set end datetime of the current run
int GetRunNumber()
get run number of the current run
static TObjArray * Search(UniSearchCondition &search_condition)
get runs corresponding to the specified single condition and set owner for search_condition to kTRUE
int SetGeometryId(int *geometry_id)
set geometry id of the current run
int SetTargetParticle(TString target_particle)
set target particle of the current run
TObjArray * GetRawFiles()
get array of raw files (UniRawFile*) corresponding to the run (return nullptr if an error occured)
int GetPeriodNumber()
get period number of the current run
TDatime * GetEndDatetime()
get end datetime of the current run
static int SetRootGeometry(int start_period, int start_run, int end_period, int end_run, unsigned char *root_geometry, Long_t size_root_geometry)
set geometry binary data (geometry file's data) for runs from start_run_number to end_run_number
int SetRunType(int run_type)
set run type of the current run
static int ReadGeometryFile(int period_number, int run_number, char *geo_file_path, bool usePrevGeometryIfMissing=false)
TString GetBeamParticle()
get beam particle of the current run
static int DeleteRun(int period_number, int run_number)
delete run from the database
TDatime GetStartDatetime()
get start datetime of the current run
int * GetGeometryId()
get geometry id of the current run
double * GetFieldVoltage()
get field voltage of the current run
static int GetRunNumbers(UniqueRunNumber *&run_numbers, int start_period, int start_run=0, int end_period=-1, int end_run=-1)
int SetPeriodNumber(int period_number)
set period number of the current run
static UniRun * CreateRun(int period_number, int run_number, int run_type, TDatime start_datetime, TDatime *end_datetime, TString beam_particle, TString target_particle, double *energy, double *field_voltage, int *event_count, int *geometry_id, int run_quality)
add new run to the database
int GetRunQuality()
get run quality of the current run
static int WriteGeometryFile(int start_period, int start_run, int end_period, int end_run, const char *geo_file_path)
write geometry file for runs from start_run_number to end_run_number to the database
int * GetEventCount()
get event count of the current run
static int ReadPreviousGeometryFile(int &period_number, int &run_number, char *geo_file_path)
int SetEventCount(int *event_count)
set event count of the current run
int SetRunNumber(int run_number)
set run number of the current run
static double FindPreviousFieldVoltage(int &period_number, int &run_number)
static int FindPreviousRun(int &period_number, int &run_number)
int SetFieldVoltage(double *field_voltage)
set field voltage of the current run
static int GetRootGeometry(int period_number, int run_number, unsigned char *&root_geometry, Long_t &size_root_geometry)
get geometry binary data (geometry file's data) for selected run number
int SetEnergy(double *energy)
set energy of the current run
int SetRunQuality(int run_quality)
set run quality of the current run
int SetBeamParticle(TString beam_particle)
set beam particle of the current run
int SetStartDatetime(TDatime start_datetime)
set start datetime of the current run
static int CheckRunExists(int period_number, int run_number)
check run exists in the database: 1- true, 0 - false, <0 - database operation error
TString GetTargetParticle()
get target particle of the current run