File indexing completed on 2025-12-17 09:23:59
0001 #include <cdbobjects/CDBTTree.h>
0002
0003 #include <TSystem.h>
0004
0005 #include <cmath>
0006 #include <iostream>
0007
0008 R__LOAD_LIBRARY(libcdbobjects.so)
0009
0010 void TestCDBTTree(const std::string &fname = "test.root")
0011 {
0012 CDBTTree *cdbttree = new CDBTTree(fname);
0013 cdbttree->SetSingleFloatValue("Test",25);
0014 cdbttree->SetSingleFloatValue("Test2",22);
0015 cdbttree->SetSingleFloatValue("Test3",23);
0016 cdbttree->SetSingleFloatValue("Test4",24);
0017 cdbttree->SetSingleIntValue("Tes2",24);
0018 cdbttree->SetSingleDoubleValue("Tes2",M_PI);
0019 cdbttree->SetSingleUInt64Value("Tes2",12486346984672562);
0020 cdbttree->CommitSingle();
0021 cdbttree->SetFloatValue(2,"Tst",25);
0022 cdbttree->SetFloatValue(2,"Tt2",22);
0023 cdbttree->SetFloatValue(2,"Tes",23);
0024 cdbttree->SetFloatValue(2,"gaga",24);
0025 cdbttree->SetFloatValue(4,"Tst",5);
0026 cdbttree->SetFloatValue(4,"Tt2",2);
0027 cdbttree->SetFloatValue(4,"Tes",3);
0028 cdbttree->SetFloatValue(4,"Tara",7);
0029 cdbttree->SetIntValue(10,"blar",2864);
0030 cdbttree->SetUInt64Value(10,"blatr",28);
0031 for (int i=0; i<10; i++)
0032 {
0033 std::string varname = "dvar" + std::to_string(i);
0034 cdbttree->SetDoubleValue(23,varname,28875342.867);
0035 }
0036 cdbttree->Commit();
0037 cdbttree->Print();
0038 cdbttree->WriteCDBTTree();
0039 delete cdbttree;
0040 gSystem->Exit(0);
0041 }
0042
0043 CDBTTree *TestWrite(const std::string &fname = "test.root")
0044 {
0045 CDBTTree *cdbttree = new CDBTTree(fname);
0046 cdbttree->SetSingleFloatValue("Test",25);
0047 cdbttree->SetSingleFloatValue("Test2",22);
0048 cdbttree->SetSingleFloatValue("Test3",23);
0049 cdbttree->SetSingleFloatValue("Test4",24);
0050 cdbttree->SetSingleIntValue("Tes2",24);
0051 cdbttree->SetSingleDoubleValue("Tes2",M_PI);
0052 cdbttree->SetSingleUInt64Value("Tes2",12486346984672562);
0053 cdbttree->CommitSingle();
0054 cdbttree->SetFloatValue(2,"Tst",25);
0055 cdbttree->SetFloatValue(2,"Tt2",22);
0056 cdbttree->SetFloatValue(2,"Tes",23);
0057 cdbttree->SetFloatValue(2,"gaga",24);
0058 cdbttree->SetFloatValue(4,"Tst",5);
0059 cdbttree->SetFloatValue(4,"Tt2",2);
0060 cdbttree->SetFloatValue(4,"Tes",3);
0061 cdbttree->SetFloatValue(4,"Tara",7);
0062 cdbttree->SetIntValue(10,"blar",2864);
0063 cdbttree->SetUInt64Value(10,"blatr",28);
0064 for (int i=0; i<100; i++)
0065 {
0066 std::string varname = "dvar";
0067 std::string varname2 = "dvar2";
0068 std::string varname3 = "dvar3";
0069 std::string varname4 = "dvar4";
0070 for (int j=0; j<25; j++)
0071 {
0072 cdbttree->SetDoubleValue(j,varname,28875342.867*j);
0073 cdbttree->SetDoubleValue(j,varname2,2.867*j);
0074 cdbttree->SetDoubleValue(j,varname3,28875.8*j);
0075 cdbttree->SetDoubleValue(j,varname4,28875342*j);
0076 }
0077 }
0078 return cdbttree;
0079 }
0080
0081 void Read(const std::string &fname = "test.root")
0082 {
0083 CDBTTree *cdbttree = new CDBTTree(fname);
0084 cdbttree->LoadCalibrations();
0085 std::cout << "Test2: " << cdbttree->GetSingleFloatValue("Test2") << std::endl;
0086 std::cout << "Tt2(2): " << cdbttree->GetFloatValue(2,"Tt2") << std::endl;
0087 std::cout << "Tt2(4): " << cdbttree->GetFloatValue(4,"Tt2") << std::endl;
0088 std::cout << "blar: " << cdbttree->GetIntValue(10,"blar") << std::endl;
0089 std::cout << "int Tt2(4): " << cdbttree->GetIntValue(4,"Tt2") << std::endl;
0090 std::cout << "dvar5: " << cdbttree->GetDoubleValue(23,"dvar5");
0091 cdbttree->Print();
0092 delete cdbttree;
0093 gSystem->Exit(0);
0094 }