GSICycleDescriptor.h

Go to the documentation of this file.
00001 //Copyright GSI 2012
00002 #ifndef GSICYCLEDESCRIPTOR_H_
00003 #define GSICYCLEDESCRIPTOR_H_
00004 
00005 #include <string>
00006 #include <vector>
00007 #include <fesa-core/Synchronization/CycleDescriptor.h>
00008 #include <fesa-core/Diagnostic/FesaLogger.h>
00009 
00010 extern "C"
00011 {
00012 #include <tim/TimLib.h>
00013 #include <tgm/tgm.h>
00014 }
00015 
00016 namespace fesaGSI
00017 {
00018 
00023     class GSICycleDescriptor: public fesa::CycleDescriptor
00024     {
00025         public:
00026 
00032                         GSICycleDescriptor(const std::string& machineName,const std::string& groupName);
00033 
00037             virtual ~GSICycleDescriptor();
00038 
00043             bool isValidCycleSelector(const std::string& timingSelectorName);
00044 
00050             const std::string getCycleSelectorName(int timingSelectorID);
00051 
00057             int getCycleSelectorId(const std::string& timingSelectorName);
00058 
00063             TgmMachine getTgmMachineId();
00064 
00069             int getTgmGroupId();
00070 
00071         protected:
00072 
00076             void refreshData();
00077 
00081             std::vector<std::string> lineNamesCol_;
00082 
00086             unsigned long tgmMachineID_;
00087 
00091             unsigned int tgmGroup_;
00092 
00096             TgmGroupDescriptor group_;
00097 
00101             std::string tgmMachineName_;
00102 
00106             std::string tgmGroupName_;
00107 
00111             fesa::FesaLogger* log_;
00112     };
00113 
00114     inline TgmMachine GSICycleDescriptor::getTgmMachineId()
00115     {
00116         return ((TgmMachine) tgmMachineID_);
00117     }
00118 
00119 }//end namespace
00120 
00121 #endif /* GSITIMINGDESCRIPTOR_H_ */

Generated on 25 Jan 2013 for fesa-core-gsi by  doxygen 1.6.1