#include "Riostream.h" #include "time.h" void dcsConvert() { struct sensor_t { Float_t value; UInt_t tempo; }; sensor_t sensor; // Char_t name[60]; TString name; TString alias; Char_t type[1]; int ano,mes,dia,hora,minuto,segundo,dias,number; int invalid; int nlines=0; ifstream fp1; fp1.open("data11-2007-w10"); TFile f("RICH_HV_Current10.root","recreate"); while (1) { if (!fp1.good()) break; fp1 >> name >> alias >> type >> number; // if (alias(0,3)=="St_" && name(27,5)=="VMeas") { if (alias(0,5)=="Rich_") { // cout << alias << endl; if (number != 0) { TTree *tree1 = new TTree(alias,alias); tree1->Branch("value",&sensor.value,"value/F"); tree1->Branch("time",&sensor.tempo,"tempo/I"); while (nlines> dia >> mes >> ano >> hora >> minuto >> segundo >> sensor.value >> invalid; TDatime da(ano,mes,dia,hora,minuto,segundo); sensor.tempo=da.Convert(); // if (invalid==0 && sensor.value>=0 && sensor.value<1.e+4) tree1->Fill(); //for voltage if (invalid==0) tree1->Fill(); //for current else cout <<"invalid: "<Print(); tree1->Write(); number=nlines=0; } // else cout << "number = 0" << endl; } else{ while (nlines> dia >> mes >> ano >> hora >> minuto >> segundo >> sensor.value >> invalid; nlines++; } number=nlines=0; } } fp1.close(); }