Definition at line 439 of file ratescan.cc.
References ChangeMaximum(), ChangeStepSize(), HandleFtmStateChange(), HandleTriggerRates(), RateScan::State::kConfiguring, RateScan::State::kConnected, RateScan::State::kDimNetworkNA, RateScan::State::kDisconnected, RateScan::State::kInProgress, RateScan::State::kPaused, Pause(), Print(), Resume(), DimState::SetCallback(), SetReferenceBoard(), SetReferenceCamera(), SetReferencePatch(), StartRateScan(), StopRateScan(), DimState::Subscribe(), DimDescribedState::Subscribe(), and TriggerAutoPause().
441 fDimData(
"RATE_SCAN/DATA",
"X:1;I:1;F:1;F:1;F:1;F:40;F:160",
442 "|Id[s]:Start time used to identify measurement (UnixTime)" 443 "|Threshold[dac]:Threshold in DAC counts" 444 "|ElapsedTime[s]:Real elapsed time" 445 "|RelOnTime[ratio]:Relative on time" 446 "|TriggerRate[Hz]:Camera trigger rate" 447 "|BoardRate[Hz]:Board trigger rates" 448 "|PatchRate[Hz]:Patch trigger rates"),
449 fDimProc(
"RATE_SCAN/PROCESS_DATA",
"I:1;I:1;I:1",
450 "Rate scan process data" 451 "|min[DAC]:Value at which scan was started" 452 "|max[DAC]:Value at which scan will end" 453 "|step[DAC]:Step size for scan"),
472 "The Dim DNS is not reachable.");
475 "The Dim DNS is reachable, but the required subsystems are not available.");
478 "All needed subsystems are connected to their hardware, no action is performed.");
481 "Waiting for FTM to get 'Configured'.");
484 "Rate scan in progress.");
487 "Rate scan in progress but paused.");
491 (
"Start rate scan for the threshold in the defined range" 492 "|min[int]:Start value in DAC counts" 493 "|max[int]:Limiting value in DAC counts" 494 "|step[int]:Single step in DAC counts" 495 "|type[text]:Ratescan type");
499 (
"Start rate scan for N-out-of-4 in the defined range" 500 "|min[int]:Start value in DAC counts" 501 "|max[int]:Limiting value in DAC counts" 502 "|step[int]:Single step in DAC counts");
506 (
"Change the step size during a ratescan in progress" 507 "|step[int]:Single step in DAC counts");
511 (
"Change the maximum limit during a ratescan in progress" 512 "|max[int]:Limiting value in DAC counts");
516 (
"Stop a ratescan in progress");
520 (
"Use the camera trigger rate as reference for the reolution");
523 (
"Use the given board trigger-rate as reference for the reolution" 524 "|board[idx]:Index of the board (4*crate+board)");
527 (
"Use the given patch trigger-rate as reference for the reolution" 528 "|patch[idx]:Index of the patch (360*crate+36*board+patch)");
532 (
"Enable an automatic pause for the next ratescan, after it got configured.");
536 (
"Pause a ratescan in progress");
539 (
"Resume a paused ratescan");
EventImp & AddEvent(const std::string &name, const std::string &states, const std::string &fmt)
virtual void Subscribe(StateMachineImp &imp)
int SetReferenceBoard(const EventImp &evt)
StateMachineDim(std::ostream &out=std::cout, const std::string &name="DEFAULT")
int HandleTriggerRates(const EventImp &evt)
DimDescribedService fDimData
int SetReferencePatch(const EventImp &evt)
int HandleFtmStateChange()
int ChangeStepSize(const EventImp &evt)
int ChangeMaximum(const EventImp &evt)
virtual void Subscribe(StateMachineImp &imp)
int StartRateScan(const EventImp &evt, const string &command)
EventImp & Subscribe(const std::string &name)
DimDescribedService fDimProc
bool AddStateName(const int state, const std::string &name, const std::string &doc="")
void SetCallback(const callback &cb)
DimDescribedState fDimFTM