00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 #include <unistd.h>
00011 #include <iostream>
00012 #include "RCDExampleModules/SCTReadoutModule.h"
00013 #include "RCDExampleModules/SCTScheduledUserAction.h"
00014 #include "DFDebug/DFDebug.h"
00015 #include "DFError/DFOutputStream.h"
00016 
00017 using namespace ROS;
00018 using namespace RCD;
00019 
00020 
00021 SCTReadoutModule::SCTReadoutModule() 
00022 
00023 { 
00024   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::constructor: Entered");
00025 }
00026 
00027 
00028 SCTReadoutModule::~SCTReadoutModule() 
00029 
00030 {
00031   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::destructor: Entered");
00032 
00033   
00034   if (m_scheduledUserAction0 != 0) {
00035     delete m_scheduledUserAction0;
00036   }
00037 }
00038 
00039 
00040 
00041 void SCTReadoutModule::setup(DFCountedPointer<Config> configuration) 
00042 
00043 { 
00044   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::setup: Entered");
00045 
00046   m_deltaTimeMs = configuration->getInt("DeltaTimeScheduler");
00047   DEBUG_TEXT(DFDB_RCDEXAMPLE, 20, "SCTReadoutModule::setup: MODULE delta time (ms) = "
00048                                   << std::dec << m_deltaTimeMs);
00049 }
00050 
00051 
00052 void SCTReadoutModule::load(void)
00053 
00054 {
00055 
00056   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::load: Entered");
00057 
00058   
00059   m_scheduledUserAction0 = 0;
00060   if (m_deltaTimeMs >= 0) {
00061     m_scheduledUserAction0 = new SCTScheduledUserAction(m_deltaTimeMs);
00062     DEBUG_TEXT(DFDB_RCDEXAMPLE, 5, "SCTReadoutModule::load: Created SCTScheduledUserAction0");
00063 
00064   }
00065 
00066   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::load: Done");
00067 }
00068 
00069 
00070 void SCTReadoutModule::unload(void)
00071 
00072 {
00073 
00074   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::unload: Entered");
00075 
00076   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::unload: Done");
00077 }
00078 
00079 
00080 
00081 void SCTReadoutModule::configure(void)
00082 
00083 {
00084  
00085   DEBUG_TEXT(DFDB_RCDEXAMPLE, 20, "SCTReadoutModule::configure: Entered");
00086 
00087   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::configure: Done");
00088 }
00089 
00090 
00091 
00092 void SCTReadoutModule::unconfigure(void)
00093 
00094 {
00095   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::unconfigure: Entered");
00096   
00097   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::unconfigure: Done");
00098 }
00099     
00100 
00101     
00102 void SCTReadoutModule::prepareForRun(void)
00103     
00104 {
00105   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::prepareForRun: Entered");
00106 
00107   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::prepareForRun: Done");
00108 
00109 }
00110 
00111     
00112 void SCTReadoutModule::startTrigger(void)
00113     
00114 {
00115   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::startTrigger: Entered");
00116   
00117   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::startTrigger: Done");
00118 
00119 }
00120 
00121 
00122 void SCTReadoutModule::stopTrigger(void)
00123 
00124 {
00125   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::stopTrigger: Entered");
00126   
00127   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::stopTrigger: Done");
00128 
00129 }
00130 
00131 
00132 void SCTReadoutModule::stopFE(void)
00133 
00134 {
00135   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::stopFE: Done");
00136 }
00137 
00138 
00139 
00140 DFCountedPointer < Config > SCTReadoutModule::getInfo()
00141 
00142 {
00143   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::getInfo: Entered");
00144 
00145   DFCountedPointer<Config> configuration = Config::New();
00146   configuration->set("Number of occurences", 
00147           dynamic_cast<SCTScheduledUserAction *> (m_scheduledUserAction0)->getNumberOfTimes());
00148   return(configuration);
00149 
00150 }
00151 
00152 
00153 void SCTReadoutModule::probe(void)
00154 
00155 {
00156   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::probe: Entered");
00157 
00158   std::cout << " SCTReadoutModule::probe: Entered" << std::endl;
00159 
00160 }
00161 
00162 
00163 void SCTReadoutModule::publishFullStatistics(void)
00164 
00165 {
00166   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::publishFullStatistics: Entered");
00167 
00168 }
00169 
00170 
00171 void SCTReadoutModule::clearInfo()
00172 
00173 {
00174   DEBUG_TEXT(DFDB_RCDEXAMPLE, 15, "SCTReadoutModule::clearInfo  Function entered");
00175 
00176   if (m_scheduledUserAction0 !=0 ) {
00177     dynamic_cast<SCTScheduledUserAction *>(m_scheduledUserAction0)->clearInfo();
00178   }
00179 }
00180 
00181 
00182 extern "C" 
00183 {
00184   extern ReadoutModule* createSCTReadoutModule();
00185 }
00186 ReadoutModule* createSCTReadoutModule()
00187 {
00188   return (new SCTReadoutModule());
00189 }