clas12root
Loading...
Searching...
No Matches
rcdb_reader.h
Go to the documentation of this file.
1/*
2 * File: rcdb_reader.h
3 * Author: rtyson
4 */
5
6#ifndef RCDB_READER_H
7#define RCDB_READER_H
8
9#include "rcdb_vals.h"
10#ifdef CLAS_RCDB
11#include "RCDB/Connection.h"
12#endif
13
14#include <iostream>
15
16#include <chrono>
17#include <string>
18
19namespace clas12 {
20 using std::cout;
21 using std::endl;
22 using std::string;
23
24
26
27 public:
28
29 rcdb_reader(string connect_path);
30 virtual ~rcdb_reader();
31 rcdb_reader()=default;
32
33
34 rcdb_vals readAll(int runNb,const string& filename);
35
36 virtual void readRun(int runNb);
37 const rcdb_vals& current()const {return _currentVals;}
38
39
40 virtual void close();//{_connection.Close();};
41 virtual void open();//{_connection.Connect();};
42
43
44 public:
45
46 void setCurrentVals(const rcdb_vals& vals){
47 _currentVals=vals;
48 }
49
50
51 private:
52
53 rcdb_vals _currentVals;
54
55
56 //ifdefs must go last , or can lead to issues with PROOF
57 //i.e. refences are slighty shifted
58#ifdef CLAS_RCDB
59 public:
60
61 bool getBoolValue(int runNb, std::string value);
62 int getIntValue(int runNb, std::string value);
63 double getDoubleValue(int runNb, std::string value);
64 std::string getStringValue(int runNb, std::string value);
65 std::chrono::time_point<std::chrono::system_clock> getTimeValue(int runNb, std::string value);
66
67 private:
68
69 std::unique_ptr<rcdb::Connection> _connection={nullptr};
70
71
72#endif
73
74
75 };
76
77
78
79 class rcdb_root : public rcdb_reader {
80
81 public:
82
83 rcdb_root(string connect_path);
84
85 void readRun(int runNb) final;
86 void close()final{}
87 void open()final{}
88
89 private :
90 rcdb_root()=default;
91
92 string _rootFile;
93
94
95 };
96
97
98 }
99#endif /* RCDB_READER_H */
rcdb_reader(string connect_path)
Definition rcdb_reader.cpp:144
rcdb_vals readAll(int runNb, const string &filename)
Definition rcdb_reader.cpp:163
virtual ~rcdb_reader()
Definition rcdb_reader.cpp:150
void setCurrentVals(const rcdb_vals &vals)
Definition rcdb_reader.h:46
virtual void close()
Definition rcdb_reader.cpp:152
virtual void readRun(int runNb)
Definition rcdb_reader.cpp:160
const rcdb_vals & current() const
Definition rcdb_reader.h:37
virtual void open()
Definition rcdb_reader.cpp:153
rcdb_root(string connect_path)
Definition rcdb_reader.cpp:201
void close() final
Definition rcdb_reader.h:86
void readRun(int runNb) final
Definition rcdb_reader.cpp:207
void open() final
Definition rcdb_reader.h:87
Definition calextras.cpp:10
Definition rcdb_vals.h:8