FACT++  1.0
template<class T , class S >
StateMachineFTM< T, S >::StateMachineFTM ( ostream &  out = cout)
inline

Definition at line 2146 of file ftmctrl.cc.

References ConnectionFTM::CmdPing(), ConnectionFTM::CmdReqDynDat(), ConnectionFTM::CmdReqStatDat(), ConnectionFTM::CmdResetCamera(), ConnectionFTM::CmdStopRun(), ConnectionFTM::CmdToggleLed(), StateMachineFTM< T, S >::ConfigureFTM(), StateMachineFTM< T, S >::DisableAllPatchesExcept(), StateMachineFTM< T, S >::DisableAllPixelsExcept(), StateMachineFTM< T, S >::DisableReports(), StateMachineFTM< T, S >::Disconnect(), StateMachineFTM< T, S >::Enable(), StateMachineFTM< T, S >::EnableFTU(), StateMachineFTM< T, S >::EnableLP(), StateMachineFTM< T, S >::EnablePatch(), StateMachineFTM< T, S >::EnablePixel(), StateMachineFTM< T, S >::GetRegister(), FTM::StaticData::kClockConditioner, FTM::State::kConfigError1, FTM::State::kConfigError2, FTM::State::kConfigured1, FTM::State::kConfigured2, FTM::State::kConfiguring1, FTM::State::kConfiguring2, FTM::State::kConnected, FTM::State::kDisconnected, FTM::StaticData::kExt1, FTM::StaticData::kExt2, FTM::StaticData::kGroup1, FTM::StaticData::kGroup2, FTM::State::kIdle, FTM::StaticData::kLPext, FTM::StaticData::kLPint, FTM::StaticData::kTrigger, FTM::State::kTriggerOn, FTM::State::kValid, FTM::StaticData::kVeto, StateMachineFTM< T, S >::LoadStaticData(), StateMachineFTM< T, S >::Reconnect(), StateMachineFTM< T, S >::ResetConfig(), StateMachineFTM< T, S >::ResetCrate(), StateMachineFTM< T, S >::SaveStaticData(), StateMachineFTM< T, S >::SetAllThresholds(), StateMachineFTM< T, S >::SetCalibMultiplicity(), StateMachineFTM< T, S >::SetCalibWindow(), StateMachineFTM< T, S >::SetClockFrequency(), StateMachineFTM< T, S >::SetClockRegister(), StateMachineFTM< T, S >::SetDeadTime(), StateMachineFTM< T, S >::SetDynamicOut(), StateMachineFTM< T, S >::SetHexOutput(), StateMachineFTM< T, S >::SetIntensity(), StateMachineFTM< T, S >::SetNoutof4(), StateMachineFTM< T, S >::SetPrescaling(), StateMachineFTM< T, S >::SetRegister(), StateMachineFTM< T, S >::SetSelectedThresholds(), StateMachineFTM< T, S >::SetThreshold(), StateMachineFTM< T, S >::SetTimeMarkerDelay(), StateMachineFTM< T, S >::SetTriggerDelay(), StateMachineFTM< T, S >::SetTriggerInterval(), StateMachineFTM< T, S >::SetTriggerMultiplicity(), StateMachineFTM< T, S >::SetTriggerSeq(), StateMachineFTM< T, S >::SetTriggerWindow(), StateMachineFTM< T, S >::SetVerbosity(), StateMachineFTM< T, S >::StartRun(), StateMachineFTM< T, S >::TakeNevents(), StateMachineFTM< T, S >::ToggleFTU(), and StateMachineFTM< T, S >::TogglePixel().

2146  :
2147  StateMachineAsio<T>(out, "FTM_CONTROL"), fFTM(*this, *this)
2148  {
2149  // State names
2150  T::AddStateName(FTM::State::kDisconnected, "Disconnected",
2151  "FTM board not connected via ethernet.");
2152 
2153  T::AddStateName(FTM::State::kConnected, "Connected",
2154  "Ethernet connection to FTM established (no state received yet).");
2155 
2156  T::AddStateName(FTM::State::kIdle, "Idle",
2157  "Ethernet connection to FTM established, FTM in idle state.");
2158 
2159  T::AddStateName(FTM::State::kValid, "Valid",
2160  "FTM in idle state and the last sent and received static data block are bitwise identical.");
2161 
2162  T::AddStateName(FTM::State::kConfiguring1, "Configuring1",
2163  "Command to disable run sent... waiting for response.");
2164  T::AddStateName(FTM::State::kConfiguring2, "Configuring2",
2165  "New configuration sent... waiting for response.");
2166  T::AddStateName(FTM::State::kConfigured1, "Configured1",
2167  "Received answer identical with target configuration.");
2168  T::AddStateName(FTM::State::kConfigured2, "Configured2",
2169  "Waiting for acknowledge of trigger enable.");
2170 
2171  T::AddStateName(FTM::State::kTriggerOn, "TriggerOn",
2172  "Ethernet connection to FTM established, FTM trigger output to FADs enabled.");
2173 
2174  T::AddStateName(FTM::State::kConfigError1, "ErrorInConfig1", "Unexpected state received from FTM");
2175  T::AddStateName(FTM::State::kConfigError2, "ErrorInConfig2", "Unexpected state received from FTM");
2176  //T::AddStateName(FTM::State::kConfigError3, "ClockCondError", "Clock conditioner not locked");
2177 
2178  // FTM Commands
2179  T::AddEvent("TOGGLE_LED", FTM::State::kIdle, FTM::State::kValid)
2181  ("toggle led");
2182 
2183  T::AddEvent("PING", FTM::State::kIdle, FTM::State::kValid)
2184  (Wrapper(bind(&ConnectionFTM::CmdPing, &fFTM)))
2185  ("send ping");
2186 
2187  T::AddEvent("REQUEST_DYNAMIC_DATA", FTM::State::kIdle, FTM::State::kValid)
2189  ("request transmission of dynamic data block");
2190 
2191  T::AddEvent("REQUEST_STATIC_DATA", FTM::State::kIdle, FTM::State::kValid)
2193  ("request transmission of static data from FTM to memory");
2194 
2195  T::AddEvent("GET_REGISTER", "I", FTM::State::kIdle, FTM::State::kValid)
2196  (bind(&StateMachineFTM::GetRegister, this, placeholders::_1))
2197  ("read register from address addr"
2198  "|addr[short]:Address of register");
2199 
2200  T::AddEvent("SET_REGISTER", "I:2", FTM::State::kIdle, FTM::State::kValid)
2201  (bind(&StateMachineFTM::SetRegister, this, placeholders::_1))
2202  ("set register to value"
2203  "|addr[short]:Address of register"
2204  "|val[short]:Value to be set");
2205 
2207  (bind(&StateMachineFTM::StartRun, this))
2208  ("start a run (start distributing triggers)");
2209 
2210  T::AddEvent("STOP_TRIGGER", FTM::State::kTriggerOn)
2212  ("stop a run (stop distributing triggers)");
2213 
2214  T::AddEvent("TAKE_N_EVENTS", "I", FTM::State::kIdle, FTM::State::kValid)
2215  (bind(&StateMachineFTM::TakeNevents, this, placeholders::_1))
2216  ("take n events (distribute n triggers)|number[int]:Number of events to be taken");
2217 
2218  T::AddEvent("DISABLE_REPORTS", "B", FTM::State::kIdle, FTM::State::kValid)
2219  (bind(&StateMachineFTM::DisableReports, this, placeholders::_1))
2220  ("disable sending rate reports"
2221  "|status[bool]:disable or enable that the FTM sends rate reports (yes/no)");
2222 
2224  (bind(&StateMachineFTM::SetThreshold, this, placeholders::_1))
2225  ("Set the comparator threshold"
2226  "|Patch[idx]:Index of the patch (0-159), -1 for all"
2227  "|Threshold[counts]:Threshold to be set in binary counts");
2228 
2229  T::AddEvent("SET_SELECTED_THRESHOLDS", "I:160", FTM::State::kTriggerOn)
2230  (bind(&StateMachineFTM::SetSelectedThresholds, this, placeholders::_1))
2231  ("Set the comparator thresholds. Only thresholds which are different and >=0 are sent."
2232  "|Thresholds[counts]:Threshold to be set in binary counts");
2233 
2234  T::AddEvent("SET_ALL_THRESHOLDS", "I:160", FTM::State::kIdle, FTM::State::kValid, FTM::State::kConfigured1)
2235  (bind(&StateMachineFTM::SetAllThresholds, this, placeholders::_1))
2236  ("Set the comparator thresholds"
2237  "|Thresholds[counts]:Threshold to be set in binary counts");
2238 
2239  T::AddEvent("SET_N_OUT_OF_4", "I:2", FTM::State::kIdle, FTM::State::kValid, FTM::State::kTriggerOn)
2240  (bind(&StateMachineFTM::SetNoutof4, this, placeholders::_1))
2241  ("Set the comparator threshold"
2242  "|Board[idx]:Index of the board (0-39), -1 for all"
2243  "|Threshold[counts]:Threshold to be set in binary counts");
2244 
2245  T::AddEvent("SET_PRESCALING", "I:1", FTM::State::kIdle, FTM::State::kValid)
2246  (bind(&StateMachineFTM::SetPrescaling, this, placeholders::_1))
2247  ("Sets the FTU readout time intervals"
2248  "|time[0.5s]:The interval is given in units of 0.5s, i.e. 1 means 0.5s, 2 means 1s, ...");
2249 
2250  T::AddEvent("ENABLE_FTU", "I:1;B:1", FTM::State::kIdle, FTM::State::kValid)
2251  (bind(&StateMachineFTM::EnableFTU, this, placeholders::_1))
2252  ("Enable or disable FTU"
2253  "|Board[idx]:Index of the board (0-39), -1 for all"
2254  "|Enable[bool]:Whether FTU should be enabled or disabled (yes/no)");
2255 
2256  T::AddEvent("DISABLE_PIXEL", "S:1", FTM::State::kIdle, FTM::State::kValid, FTM::State::kTriggerOn)
2257  (bind(&StateMachineFTM::EnablePixel, this, placeholders::_1, false))
2258  ("(-1 or all)");
2259 
2260  T::AddEvent("ENABLE_PIXEL", "S:1", FTM::State::kIdle, FTM::State::kValid, FTM::State::kTriggerOn)
2261  (bind(&StateMachineFTM::EnablePixel, this, placeholders::_1, true))
2262  ("(-1 or all)");
2263 
2264  T::AddEvent("DISABLE_ALL_PIXELS_EXCEPT", "S:1", FTM::State::kIdle, FTM::State::kValid)
2265  (bind(&StateMachineFTM::DisableAllPixelsExcept, this, placeholders::_1))
2266  ("");
2267 
2268  T::AddEvent("DISABLE_ALL_PATCHES_EXCEPT", "S:1", FTM::State::kIdle, FTM::State::kValid)
2269  (bind(&StateMachineFTM::DisableAllPatchesExcept, this, placeholders::_1))
2270  ("");
2271 
2272  T::AddEvent("ENABLE_PATCH", "S:1", FTM::State::kIdle, FTM::State::kValid)
2273  (bind(&StateMachineFTM::EnablePatch, this, placeholders::_1, true))
2274  ("");
2275 
2276  T::AddEvent("DISABLE_PATCH", "S:1", FTM::State::kIdle, FTM::State::kValid)
2277  (bind(&StateMachineFTM::EnablePatch, this, placeholders::_1, false))
2278  ("");
2279 
2280  T::AddEvent("TOGGLE_PIXEL", "S:1", FTM::State::kIdle, FTM::State::kValid)
2281  (bind(&StateMachineFTM::TogglePixel, this, placeholders::_1))
2282  ("");
2283 
2284  T::AddEvent("TOGGLE_FTU", "I:1", FTM::State::kIdle, FTM::State::kValid)
2285  (bind(&StateMachineFTM::ToggleFTU, this, placeholders::_1))
2286  ("Toggle status of FTU (this is mainly meant to be used in the GUI)"
2287  "|Board[idx]:Index of the board (0-39)");
2288 
2289  T::AddEvent("SET_TRIGGER_INTERVAL", "I:1", FTM::State::kIdle, FTM::State::kValid)
2290  (bind(&StateMachineFTM::SetTriggerInterval, this, placeholders::_1))
2291  ("Sets the trigger interval which is the distance between two consecutive artificial triggers."
2292  "|interval[ms]:The applied trigger interval in millisecond (min 1ms / 10bit)");
2293 
2294  T::AddEvent("SET_TRIGGER_DELAY", "I:1", FTM::State::kIdle, FTM::State::kValid)
2295  (bind(&StateMachineFTM::SetTriggerDelay, this, placeholders::_1))
2296  (""
2297  "|delay[int]:The applied trigger delay is: delay*4ns+8ns");
2298 
2299  T::AddEvent("SET_TIME_MARKER_DELAY", "I:1", FTM::State::kIdle, FTM::State::kValid)
2300  (bind(&StateMachineFTM::SetTimeMarkerDelay, this, placeholders::_1))
2301  (""
2302  "|delay[int]:The applied time marker delay is: delay*4ns+8ns");
2303 
2304  T::AddEvent("SET_DEAD_TIME", "I:1", FTM::State::kIdle, FTM::State::kValid)
2305  (bind(&StateMachineFTM::SetDeadTime, this, placeholders::_1))
2306  (""
2307  "|dead_time[int]:The applied dead time is: dead_time*4ns+8ns");
2308 
2309  T::AddEvent("ENABLE_TRIGGER", "B:1", FTM::State::kIdle, FTM::State::kValid)
2310  (bind(&StateMachineFTM::Enable, this, placeholders::_1, FTM::StaticData::kTrigger))
2311  ("Switch on the physics trigger"
2312  "|Enable[bool]:Enable physics trigger (yes/no)");
2313 
2314  // FIXME: Switch on/off depending on sequence
2315  T::AddEvent("ENABLE_EXT1", "B:1", FTM::State::kIdle, FTM::State::kValid)
2316  (bind(&StateMachineFTM::Enable, this, placeholders::_1, FTM::StaticData::kExt1))
2317  ("Switch on the triggers through the first external line"
2318  "|Enable[bool]:Enable ext1 trigger (yes/no)");
2319 
2320  // FIXME: Switch on/off depending on sequence
2321  T::AddEvent("ENABLE_EXT2", "B:1", FTM::State::kIdle, FTM::State::kValid)
2322  (bind(&StateMachineFTM::Enable, this, placeholders::_1, FTM::StaticData::kExt2))
2323  ("Switch on the triggers through the second external line"
2324  "|Enable[bool]:Enable ext2 trigger (yes/no)");
2325 
2326  T::AddEvent("ENABLE_VETO", "B:1", FTM::State::kIdle, FTM::State::kValid)
2327  (bind(&StateMachineFTM::Enable, this, placeholders::_1, FTM::StaticData::kVeto))
2328  ("Enable veto line"
2329  "|Enable[bool]:Enable veto (yes/no)");
2330 
2331  T::AddEvent("ENABLE_CLOCK_CONDITIONER", "B:1", FTM::State::kIdle, FTM::State::kValid)
2332  (bind(&StateMachineFTM::Enable, this, placeholders::_1, FTM::StaticData::kClockConditioner))
2333  ("Enable clock conidtioner output in favor of time marker output"
2334  "|Enable[bool]:Enable clock conditioner (yes/no)");
2335 
2336  T::AddEvent("ENABLE_GROUP1_LPINT", "B:1", FTM::State::kIdle, FTM::State::kValid)
2338  ("");
2339  T::AddEvent("ENABLE_GROUP1_LPEXT", "B:1", FTM::State::kIdle, FTM::State::kValid)
2341  ("");
2342  T::AddEvent("ENABLE_GROUP2_LPINT", "B:1", FTM::State::kIdle, FTM::State::kValid)
2344  ("");
2345  T::AddEvent("ENABLE_GROUP2_LPEXT", "B:1", FTM::State::kIdle, FTM::State::kValid)
2347  ("");
2348  T::AddEvent("SET_INTENSITY_LPINT", "S:1", FTM::State::kIdle, FTM::State::kValid)
2349  (bind(&StateMachineFTM::SetIntensity, this, placeholders::_1, FTM::StaticData::kLPint))
2350  ("");
2351  T::AddEvent("SET_INTENSITY_LPEXT", "S:1", FTM::State::kIdle, FTM::State::kValid)
2352  (bind(&StateMachineFTM::SetIntensity, this, placeholders::_1, FTM::StaticData::kLPext))
2353  ("");
2354 
2355 
2356  T::AddEvent("SET_TRIGGER_SEQUENCE", "S:3", FTM::State::kIdle, FTM::State::kValid)
2357  (bind(&StateMachineFTM::SetTriggerSeq, this, placeholders::_1))
2358  ("Setup the sequence of artificial triggers produced by the FTM"
2359  "|Ped[short]:number of pedestal triggers in a row"
2360  "|LPext[short]:number of triggers of the external light pulser"
2361  "|LPint[short]:number of triggers of the internal light pulser");
2362 
2363  T::AddEvent("SET_TRIGGER_MULTIPLICITY", "S:1", FTM::State::kIdle, FTM::State::kValid)
2364  (bind(&StateMachineFTM::SetTriggerMultiplicity, this, placeholders::_1))
2365  ("Setup the Multiplicity condition for physcis triggers"
2366  "|N[int]:Number of requirered coincident triggers from sum-patches (1-40)");
2367 
2368  T::AddEvent("SET_TRIGGER_WINDOW", "S:1", FTM::State::kIdle, FTM::State::kValid)
2369  (bind(&StateMachineFTM::SetTriggerWindow, this, placeholders::_1))
2370  ("");
2371 
2372  T::AddEvent("SET_CALIBRATION_MULTIPLICITY", "S:1", FTM::State::kIdle, FTM::State::kValid)
2373  (bind(&StateMachineFTM::SetCalibMultiplicity, this, placeholders::_1))
2374  ("Setup the Multiplicity condition for artificial (calibration) triggers"
2375  "|N[int]:Number of requirered coincident triggers from sum-patches (1-40)");
2376 
2377  T::AddEvent("SET_CALIBRATION_WINDOW", "S:1", FTM::State::kIdle, FTM::State::kValid)
2378  (bind(&StateMachineFTM::SetCalibWindow, this, placeholders::_1))
2379  ("");
2380 
2381  T::AddEvent("SET_CLOCK_FREQUENCY", "S:1", FTM::State::kIdle, FTM::State::kValid)
2382  (bind(&StateMachineFTM::SetClockFrequency, this, placeholders::_1))
2383  ("");
2384 
2385  T::AddEvent("SET_CLOCK_REGISTER", "X:8", FTM::State::kIdle, FTM::State::kValid)
2386  (bind(&StateMachineFTM::SetClockRegister, this, placeholders::_1))
2387  ("");
2388 
2389  // A new configure will first stop the FTM this means
2390  // we can allow it in idle _and_ taking data
2392  (bind(&StateMachineFTM::ConfigureFTM, this, placeholders::_1))
2393  ("");
2394 
2396  (bind(&StateMachineFTM::ResetConfig, this))
2397  ("Reset states during a configuration or in case of configuration error");
2398 
2399 
2400 
2401  T::AddEvent("RESET_CRATE", "S:1", FTM::State::kIdle, FTM::State::kValid)
2402  (bind(&StateMachineFTM::ResetCrate, this, placeholders::_1))
2403  ("Reset one of the crates 0-3"
2404  "|crate[short]:Crate number to be reseted (0-3)");
2405 
2406  T::AddEvent("RESET_CAMERA", FTM::State::kIdle, FTM::State::kValid)
2408  ("Reset all crates. The commands are sent in the order 0,1,2,3");
2409 
2410 
2411  // Load/save static data block
2412  T::AddEvent("SAVE", "C", FTM::State::kIdle, FTM::State::kValid)
2413  (bind(&StateMachineFTM::SaveStaticData, this, placeholders::_1))
2414  ("Saves the static data (FTM configuration) from memory to a file"
2415  "|filename[string]:Filename (can include a path), .bin is automatically added");
2416 
2417  T::AddEvent("LOAD", "C", FTM::State::kIdle, FTM::State::kValid)
2418  (bind(&StateMachineFTM::LoadStaticData, this, placeholders::_1))
2419  ("Loads the static data (FTM configuration) from a file into memory and sends it to the FTM"
2420  "|filename[string]:Filename (can include a path), .bin is automatically added");
2421 
2422 
2423 
2424  // Verbosity commands
2425  T::AddEvent("SET_VERBOSE", "B")
2426  (bind(&StateMachineFTM::SetVerbosity, this, placeholders::_1))
2427  ("set verbosity state"
2428  "|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data");
2429 
2430  T::AddEvent("SET_HEX_OUTPUT", "B")
2431  (bind(&StateMachineFTM::SetHexOutput, this, placeholders::_1))
2432  ("enable or disable hex output for received data"
2433  "|hexout[bool]:disable or enable hex output for received data (yes/no)");
2434 
2435  T::AddEvent("SET_DYNAMIC_OUTPUT", "B")
2436  (bind(&StateMachineFTM::SetDynamicOut, this, placeholders::_1))
2437  ("enable or disable output for received dynamic data (data is still broadcasted via Dim)"
2438  "|dynout[bool]:disable or enable output for dynamic data (yes/no)");
2439 
2440 
2441  // Conenction commands
2442  T::AddEvent("DISCONNECT", FTM::State::kConnected, FTM::State::kIdle, FTM::State::kValid)
2443  (bind(&StateMachineFTM::Disconnect, this))
2444  ("disconnect from ethernet");
2445 
2447  (bind(&StateMachineFTM::Reconnect, this, placeholders::_1))
2448  ("(Re)connect ethernet connection to FTM, a new address can be given"
2449  "|[host][string]:new ethernet address in the form <host:port>");
2450 
2451  fFTM.StartConnect();
2452  }
int SetClockRegister(const EventImp &evt)
Definition: ftmctrl.cc:1833
int LoadStaticData(const EventImp &evt)
Definition: ftmctrl.cc:1602
int DisableAllPatchesExcept(const EventImp &evt)
Definition: ftmctrl.cc:1920
int SetHexOutput(const EventImp &evt)
Definition: ftmctrl.cc:1582
bool CmdResetCamera()
Definition: ftmctrl.cc:586
int ResetConfig()
Definition: ftmctrl.cc:2033
int SetIntensity(const EventImp &evt, FTM::StaticData::GeneralSettings lp)
Definition: ftmctrl.cc:1877
int DisableReports(const EventImp &evt)
Definition: ftmctrl.cc:1562
function< int(const EventImp &)> Wrapper(function< void()> func)
Definition: ftmctrl.cc:1459
int SetNoutof4(const EventImp &evt)
Definition: ftmctrl.cc:1683
int SetVerbosity(const EventImp &evt)
Definition: ftmctrl.cc:1572
int SetClockFrequency(const EventImp &evt)
Definition: ftmctrl.cc:1846
int EnableFTU(const EventImp &evt)
Definition: ftmctrl.cc:1696
int SetDynamicOut(const EventImp &evt)
Definition: ftmctrl.cc:1592
External trigger signal 2.
Definition: HeadersFTM.h:205
int GetRegister(const EventImp &evt)
Definition: ftmctrl.cc:1504
int SetDeadTime(const EventImp &evt)
Definition: ftmctrl.cc:1778
int EnableLP(const EventImp &evt, FTM::StaticData::GeneralSettings lp, FTM::StaticData::LightPulserEnable group)
Definition: ftmctrl.cc:1866
int SetSelectedThresholds(const EventImp &evt)
Definition: ftmctrl.cc:1651
void CmdReqStatDat()
Definition: ftmctrl.cc:505
Select clock conditioner frequency (1) / time marker (0) as output.
Definition: HeadersFTM.h:208
int Disconnect()
Definition: ftmctrl.cc:1963
int SetTriggerSeq(const EventImp &evt)
Definition: ftmctrl.cc:1765
int EnablePatch(const EventImp &evt, bool enable)
Definition: ftmctrl.cc:1931
int SetCalibWindow(const EventImp &evt)
Definition: ftmctrl.cc:1822
int SaveStaticData(const EventImp &evt)
Definition: ftmctrl.cc:1620
int SetCalibMultiplicity(const EventImp &evt)
Definition: ftmctrl.cc:1800
int SetTriggerInterval(const EventImp &evt)
Definition: ftmctrl.cc:1721
int Enable(const EventImp &evt, FTM::StaticData::GeneralSettings type)
Definition: ftmctrl.cc:1888
int SetRegister(const EventImp &evt)
Definition: ftmctrl.cc:1478
void CmdReqDynDat()
Definition: ftmctrl.cc:500
External trigger signal 1.
Definition: HeadersFTM.h:206
int Reconnect(const EventImp &evt)
Definition: ftmctrl.cc:1977
int DisableAllPixelsExcept(const EventImp &evt)
Definition: ftmctrl.cc:1909
int SetTimeMarkerDelay(const EventImp &evt)
Definition: ftmctrl.cc:1743
int SetTriggerMultiplicity(const EventImp &evt)
Definition: ftmctrl.cc:1789
void CmdToggleLed()
Definition: ftmctrl.cc:490
int SetPrescaling(const EventImp &evt)
Definition: ftmctrl.cc:1754
Enable trigger decision after light pulse (CalibrationTrigger, LP1)
Definition: HeadersFTM.h:204
int SetAllThresholds(const EventImp &evt)
Definition: ftmctrl.cc:1667
Enable artificial trigger after light pulse (LP2)
Definition: HeadersFTM.h:203
int TogglePixel(const EventImp &evt)
Definition: ftmctrl.cc:1942
int ResetCrate(const EventImp &evt)
Definition: ftmctrl.cc:1953
int ToggleFTU(const EventImp &evt)
Definition: ftmctrl.cc:1710
void CmdStopRun()
Definition: ftmctrl.cc:530
int ConfigureFTM(const EventImp &evt)
Definition: ftmctrl.cc:2014
Veto trigger decision / artifical triggers.
Definition: HeadersFTM.h:207
int TakeNevents(const EventImp &evt)
Definition: ftmctrl.cc:1541
void CmdPing()
Definition: ftmctrl.cc:495
int SetTriggerWindow(const EventImp &evt)
Definition: ftmctrl.cc:1811
int SetTriggerDelay(const EventImp &evt)
Definition: ftmctrl.cc:1732
Physics trigger decision (PhysicTrigger)
Definition: HeadersFTM.h:201
int SetThreshold(const EventImp &evt)
Definition: ftmctrl.cc:1634
int EnablePixel(const EventImp &evt, bool b)
Definition: ftmctrl.cc:1898

+ Here is the call graph for this function: