/data3/calcul/jacquem/working_dir/Micromegas/micromegasFrameWork/src/analyse/Jean/testSC.cpp File Reference

#include <iostream>
#include "slowControl/SlowControlManager.hh"
#include "slowControl/ChamberSlowControl.hh"
#include "tools/Log.hh"
#include "tools/SteerDesc.hh"
#include "xml/XMLTool.hh"
#include "tools/MicroException.hh"

Include dependency graph for testSC.cpp:

Go to the source code of this file.

Functions

int main (int argc, char **argv)


Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 14 of file testSC.cpp.

00015 {
00016 
00017  FILELog::ReportingLevel() = FILELog::FromString(INFO);
00018 
00019  string steerName = "SteerFiles/gassiplex_tb2009.xml";
00020  FILE *file = fopen(steerName.c_str(), "r");
00021   if(file == NULL){
00022     FILE_LOG(logERROR) << "Steer file ["<< steerName << "] does not exist" << endl;
00023     exit(0);
00024     fclose(file);
00025   }
00026   else
00027   {
00028   // create Run, set detector and steerDesc from steer XML file
00029     SteerDesc steerDesc;
00030     XMLTool xml;
00031     xml.parse(steerDesc, steerName); // parse steer file and fill steerDesc
00032      // Set detector with xml file content
00033     fclose(file);
00034 
00035     string slowControlPath = steerDesc.getSlowControlPath();
00036     SlowControlManager sc;
00037     sc.build(steerDesc);
00038 
00039 
00040     sc.readDB("/lapp_data/LC/Detecteurs/MicroMegas/data/TB2009/May/SlowControl/slowControl_tb2009.txt");
00041 
00042     /*
00043     for (std::set<SlowControlEntry>::const_iterator p = sc.begin() ; p != sc.end()  ; p++)
00044     {
00045         cout << fixed << p->timeStamp<< endl;
00046     }
00047 */
00048 
00049     // min: 1 243 334 681 469
00050     // max: 1 244 555 913 828
00051 //  double search =1243446695252.0; // ok
00052     double search =1244360530734.000; // ok
00053 //  double search =2243346695252.0; // + grand
00054 //  double search =0243346695252.0;   // + petit
00055 
00056     const SlowControlEntry *entry = NULL;
00057     try {
00058       entry = sc.getEntry(search );
00059     }
00060     catch ( MicroException e)
00061     {
00062         cout << e.getMessage() << " :" << fixed << search <<  endl;
00063     }
00064     if ( entry != NULL)
00065     {
00066         cout << "searched: " << fixed << search  << endl;
00067         cout << "found   : " << entry->getTimeStamp()  << endl;
00068         float mesh = 0;
00069         float drift = 0;
00070         try {
00071            const ChamberSlowControl& chSC = entry->chMap.find(0)->second;
00072         mesh = chSC.getMesh().voltage;
00073         drift = chSC.getDrift().voltage;
00074         }
00075         catch ( MicroException e) { cout << e.getMessage(); }
00076 
00077         cout << "found   : " << entry->getTimeStamp()  << endl;
00078         cout << "Mesh value   : " << mesh  << endl;
00079         cout << "Drift value   : " << drift  << endl;
00080     }
00081 
00082 
00083         }
00084 
00085 return 0;
00086 }


Generated on Mon Jan 7 13:16:58 2013 for MicromegasFramework by  doxygen 1.4.7