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 }