File indexing completed on 2024-04-06 12:23:15
0001 #include "OnlineDB/EcalCondDB/interface/EcalCondDBInterface.h"
0002 #include "OnlineDB/EcalCondDB/interface/LMFDefFabric.h"
0003 #include "OnlineDB/EcalCondDB/interface/LMFLaserPulseDat.h"
0004 #include "OnlineDB/EcalCondDB/interface/LMFPnPrimDat.h"
0005 #include "OnlineDB/EcalCondDB/interface/all_lmf_types.h"
0006 #include <climits>
0007 #include <cstdlib>
0008 #include <ctime>
0009 #include <iomanip>
0010 #include <iostream>
0011 #include <string>
0012 #include <vector>
0013
0014 using namespace std;
0015
0016 class CondDBApp {
0017 public:
0018
0019
0020
0021 CondDBApp(string sid, string user, string pass) {
0022 try {
0023 cout << "Making connection..." << flush;
0024 econn = new EcalCondDBInterface(sid, user, pass);
0025 cout << "Done." << endl;
0026 } catch (runtime_error &e) {
0027 cerr << e.what() << endl;
0028 exit(-1);
0029 }
0030 }
0031
0032
0033
0034
0035 ~CondDBApp() { delete econn; }
0036
0037 void doRead() {
0038 LMFPnPrimDat pnPrim(econn);
0039 EcalLogicID ecid = econn->getEcalLogicID(1131190000);
0040 Tm t;
0041 t.setToString("2010-09-21 00:00:00");
0042 pnPrim.fetch(ecid, t);
0043 pnPrim.setMaxDataToDump(10);
0044 pnPrim.dump();
0045 cout << "These data were taken on " << pnPrim.getSubrunStart().str() << endl;
0046 LMFPnPrimDat *p = new LMFPnPrimDat;
0047 LMFPnPrimDat *n = new LMFPnPrimDat;
0048 pnPrim.getPrevious(p);
0049 pnPrim.getNext(n);
0050 p->dump();
0051 n->dump();
0052 delete p;
0053 delete n;
0054 }
0055
0056 private:
0057 CondDBApp() = delete;
0058 EcalCondDBInterface *econn;
0059 };
0060
0061 int main(int argc, char *argv[]) {
0062 string sid;
0063 string user;
0064 string pass;
0065
0066 if (argc != 4) {
0067 cout << "Usage:" << endl;
0068 cout << " " << argv[0] << " <SID> <user> <pass>" << endl;
0069 exit(-1);
0070 }
0071
0072 sid = argv[1];
0073 user = argv[2];
0074 pass = argv[3];
0075
0076 try {
0077 CondDBApp app(sid, user, pass);
0078 app.doRead();
0079 } catch (exception &e) {
0080 cout << "ERROR: " << e.what() << endl;
0081 } catch (...) {
0082 cout << "Unknown error caught" << endl;
0083 }
0084
0085 cout << "All Done." << endl;
0086
0087 return 0;
0088 }