Index: /trunk/FACT++/src/HeadersRateScan.h
===================================================================
--- /trunk/FACT++/src/HeadersRateScan.h	(revision 13918)
+++ /trunk/FACT++/src/HeadersRateScan.h	(revision 13918)
@@ -0,0 +1,20 @@
+#ifndef FACT_HeadersRateScan
+#define FACT_HeadersRateScan
+
+namespace RateScan
+{
+    namespace State
+    {
+        enum states_t
+        {
+            kDimNetworkNA = 1,
+            kDisconnected,
+            kConnecting,
+            kConnected,
+            kConfiguring,
+            kInProgress,
+        };
+    }
+}
+
+#endif
Index: /trunk/FACT++/src/ratescan.cc
===================================================================
--- /trunk/FACT++/src/ratescan.cc	(revision 13917)
+++ /trunk/FACT++/src/ratescan.cc	(revision 13918)
@@ -16,4 +16,5 @@
 
 #include "HeadersFTM.h"
+#include "HeadersRateScan.h"
 
 namespace ba = boost::asio;
@@ -32,14 +33,4 @@
 {
 private:
-    enum states_t
-    {
-        kStateDimNetworkNA = 1,
-        kStateDisconnected,
-        kStateConnecting,
-        kStateConnected,
-        kStateConfiguring,
-        kStateInProgress,
-    };
-
     DimVersion fDim;
     DimState   fDimFTM;
@@ -104,5 +95,5 @@
             return GetCurrentState();
 
-        if (GetCurrentState()!=kStateInProgress)
+        if (GetCurrentState()!=RateScan::State::kInProgress)
             return GetCurrentState();
 
@@ -193,5 +184,5 @@
         {
             Message("Rate scan stopped due to timeout.");
-            return kStateConnected;
+            return RateScan::State::kConnected;
         }
 
@@ -199,5 +190,5 @@
         {
             Message("Rate scan finished.");
-            return kStateConnected;
+            return RateScan::State::kConnected;
         }
 
@@ -252,13 +243,13 @@
         Message("Configuration for ratescan started.");
 
-        return kStateConfiguring;
+        return RateScan::State::kConfiguring;
     }
 
     int HandleFtmStateChange(/*const EventImp &evt*/)
     {
-        if (GetCurrentState()!=kStateConfiguring)
-            return GetCurrentState();
-
-        if (fDimFTM.state()!=FTM::kConfigured)
+        if (GetCurrentState()!=RateScan::State::kConfiguring)
+            return GetCurrentState();
+
+        if (fDimFTM.state()!=FTM::State::kConfigured)
             return GetCurrentState();
 
@@ -292,15 +283,15 @@
         Message(msg);
 
-        return kStateInProgress;
+        return RateScan::State::kInProgress;
     }
 
     int StopRateScan()
     {
-        if (GetCurrentState()!=kStateConfiguring && GetCurrentState()!=kStateInProgress)
+        if (GetCurrentState()!=RateScan::State::kConfiguring && GetCurrentState()!=RateScan::State::kInProgress)
             return GetCurrentState();
 
         Message("Rate scan manually stopped.");
 
-        return kStateConnected;
+        return RateScan::State::kConnected;
     }
 
@@ -375,9 +366,9 @@
     {
         if (!fDim.online())
-            return kStateDimNetworkNA;
+            return RateScan::State::kDimNetworkNA;
 
         // All subsystems are not connected
-        if (fDimFTM.state()<FTM::kConnected)
-            return kStateDisconnected;
+        if (fDimFTM.state()<FTM::State::kConnected)
+            return RateScan::State::kDisconnected;
 
         return GetCurrentState();
@@ -417,17 +408,17 @@
 
         // State names
-        AddStateName(kStateDimNetworkNA, "DimNetworkNotAvailable",
+        AddStateName(RateScan::State::kDimNetworkNA, "DimNetworkNotAvailable",
                      "The Dim DNS is not reachable.");
 
-        AddStateName(kStateDisconnected, "Disconnected",
+        AddStateName(RateScan::State::kDisconnected, "Disconnected",
                      "The Dim DNS is reachable, but the required subsystems are not available.");
 
-        AddStateName(kStateConnected, "Connected",
+        AddStateName(RateScan::State::kConnected, "Connected",
                      "All needed subsystems are connected to their hardware, no action is performed.");
 
-        AddStateName(kStateInProgress, "InProgress",
+        AddStateName(RateScan::State::kInProgress, "InProgress",
                      "Rate scan in progress.");
 
-        AddEvent("START_THRESHOLD_SCAN", "I:3", kStateConnected)
+        AddEvent("START_THRESHOLD_SCAN", "I:3", RateScan::State::kConnected)
             (bind(&StateMachineRateScan::StartRateScan, this, placeholders::_1, "SET_THRESHOLD"))
             ("Start rate scan for the threshold in the defined range"
@@ -436,5 +427,5 @@
              "|step[int]:Single step in DAC counts");
 
-        AddEvent("START_N_OUT_OF_4_SCAN", "I:3", kStateConnected)
+        AddEvent("START_N_OUT_OF_4_SCAN", "I:3", RateScan::State::kConnected)
             (bind(&StateMachineRateScan::StartRateScan, this, placeholders::_1, "SET_N_OUT_OF_4"))
             ("Start rate scan for N-out-of-4 in the defined range"
@@ -443,29 +434,29 @@
              "|step[int]:Single step in DAC counts");
 
-        AddEvent("CHANGE_STEP_SIZE", "I:1", kStateInProgress)
+        AddEvent("CHANGE_STEP_SIZE", "I:1", RateScan::State::kInProgress)
             (bind(&StateMachineRateScan::ChangeStepSize, this, placeholders::_1))
             ("Change the step size during a ratescan in progress"
              "|step[int]:Single step in DAC counts");
 
-        AddEvent("CHANGE_MAXIMUM", "I:1", kStateInProgress)
+        AddEvent("CHANGE_MAXIMUM", "I:1", RateScan::State::kInProgress)
             (bind(&StateMachineRateScan::ChangeMaximum, this, placeholders::_1))
             ("Change the maximum limit during a ratescan in progress"
              "|max[int]:Limiting value in DAC counts");
 
-        AddEvent("STOP", kStateConfiguring, kStateInProgress)
+        AddEvent("STOP", RateScan::State::kConfiguring, RateScan::State::kInProgress)
             (bind(&StateMachineRateScan::StopRateScan, this))
             ("Stop a ratescan in progress");
 
-        AddEvent("SET_REFERENCE_CAMERA", kStateDimNetworkNA, kStateDisconnected, kStateConnected)
+        AddEvent("SET_REFERENCE_CAMERA", RateScan::State::kDimNetworkNA, RateScan::State::kDisconnected, RateScan::State::kConnected)
             (bind(&StateMachineRateScan::SetReferenceCamera, this))
             ("Use the camera trigger rate as reference for the reolution");
-        AddEvent("SET_REFERENCE_BOARD", "I:1", kStateDimNetworkNA, kStateDisconnected, kStateConnected)
+        AddEvent("SET_REFERENCE_BOARD", "I:1", RateScan::State::kDimNetworkNA, RateScan::State::kDisconnected, RateScan::State::kConnected)
             (bind(&StateMachineRateScan::SetReferenceBoard, this, placeholders::_1))
             ("Use the given board trigger-rate as reference for the reolution"
              "|board[idx]:Index of the board (4*crate+board)");
-        AddEvent("SET_REFERENCE_PATCH", "I:1", kStateDimNetworkNA, kStateDisconnected, kStateConnected)
+        AddEvent("SET_REFERENCE_PATCH", "I:1", RateScan::State::kDimNetworkNA, RateScan::State::kDisconnected, RateScan::State::kConnected)
             (bind(&StateMachineRateScan::SetReferenceBoard, this, placeholders::_1))
             ("Use the given patch trigger-rate as reference for the reolution"
-             "|patch[idx]:Index of the patch (360*crate+36*board+patch)"            );
+             "|patch[idx]:Index of the patch (360*crate+36*board+patch)");
 
         AddEvent("PRINT")
