Print

Print


Commit in slic on MAIN
include/EventDebuggerMessenger.hh+36added 1.1
src/EventDebuggerMessenger.cc+78added 1.1
+114
2 added files
Added messenger for EventDebugger

slic/include
EventDebuggerMessenger.hh added at 1.1
diff -N EventDebuggerMessenger.hh
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ EventDebuggerMessenger.hh	22 Sep 2005 01:10:47 -0000	1.1
@@ -0,0 +1,36 @@
+// $Header: /cvs/lcd/slic/include/EventDebuggerMessenger.hh,v 1.1 2005/09/22 01:10:47 jeremy Exp $
+#ifndef slic_EventDebuggerMessenger_hh
+#define slic_EventDebuggerMessenger_hh 1
+
+// geant4
+#include "G4UImessenger.hh"
+#include "G4UIdirectory.hh"
+#include "G4UIcommand.hh"
+
+class G4UIcmdWithAString;
+class G4UIcmdWithABool;
+
+namespace slic
+{
+  /**
+   * @class EventDebuggerMessenger
+   * @brief G4UImessenger for the EventDebugger
+   */
+  class EventDebuggerMessenger : public G4UImessenger
+  {
+  public:
+    EventDebuggerMessenger();
+    virtual ~EventDebuggerMessenger();
+
+  public:
+    virtual void SetNewValue(G4UIcommand* cmd, G4String newVals);
+
+  private:
+    void defineCommands();
+
+  private:
+    G4UIdirectory* m_debugDir;
+    G4UIcmdWithAString* m_debugMacroCmd;
+    G4UIcmdWithAString* m_cleanupMacroCmd;
+    G4UIcommand* m_addDebugEventsCmd;
+ 
\ No newline at end of file

slic/src
EventDebuggerMessenger.cc added at 1.1
diff -N EventDebuggerMessenger.cc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ EventDebuggerMessenger.cc	22 Sep 2005 01:10:47 -0000	1.1
@@ -0,0 +1,78 @@
+// $Header: /cvs/lcd/slic/src/EventDebuggerMessenger.cc,v 1.1 2005/09/22 01:10:47 jeremy Exp $
+#include "EventDebuggerMessenger.hh"
+
+// slic
+#include "EventDebugger.hh"
+
+// lcdd
+#include "StringUtil.hh"
+
+// geant4
+#include "G4UIcmdWithAString.hh"
+#include "G4UIcmdWithABool.hh"
+
+namespace slic
+{
+  EventDebuggerMessenger::EventDebuggerMessenger()
+  {
+    defineCommands();
+  }
+
+  EventDebuggerMessenger::~EventDebuggerMessenger()
+  {}
+
+  void EventDebuggerMessenger::SetNewValue(G4UIcommand* cmd, G4String newVals)
+  {
+    EventDebugger* debugger = EventDebugger::instance();
+    if ( cmd == m_debugMacroCmd ) {
+      debugger->setDebugMacro( newVals );
+    }
+    else if ( cmd == m_cleanupMacroCmd ) {
+      debugger->setCleanupMacro( newVals );
+    }
+    else if ( cmd == m_addDebugEventsCmd ) {
+
+      std::vector<std::string> strList;
+      const std::string str = std::string(newVals);
+      const std::string delim = " ";
+
+      StringUtil::split( str, delim, strList );
+
+      EventDebugger::DebugEventList dbgList;
+      for ( std::vector<std::string>::iterator it = strList.begin();
+	    it != strList.end();
+	    it++ ) {
+	debugger->addDebugEvent(StringUtil::toInt(*it));
+      }
+    }
+    else if ( cmd == m_clearDebugEventsCmd ) {
+      debugger->clearDebugEvents();
+    }
+    else if ( cmd == m_enableDebugCmd ) {
+      debugger->enableDebug( m_enableDebugCmd->GetNewBoolValue( newVals.c_str() ) );
+    }
+  }
+
+  void EventDebuggerMessenger::defineCommands()
+  {
+    m_debugDir = new G4UIdirectory( "/debug/" );
+    m_debugDir->SetGuidance( "Debugging commands." );
+
+    m_debugMacroCmd = new G4UIcmdWithAString( "/debug/debugMacro", this );
+    m_debugMacroCmd->SetGuidance( "Set macro for debugging." );
+
+    m_cleanupMacroCmd = new G4UIcmdWithAString( "/debug/cleanupMacro", this );
+    m_cleanupMacroCmd->SetGuidance( "Set macro to cleanup edebug step." );
+
+    m_addDebugEventsCmd = new G4UIcmdWithAString( "/debug/addEvents", this );
+    m_addDebugEventsCmd->SetGuidance( "Add event IDs to debug, separated by spaces." );
+
+    m_clearDebugEventsCmd = new G4UIcommand( "/debug/clearEvents", this );
+    m_clearDebugEventsCmd->SetGuidance( "Clear the list of events to debug." );
+
+    m_enableDebugCmd = new G4UIcmdWithABool( "/debug/enableDebug", this );
+    m_enableDebugCmd->SetGuidance( "Enable event debugging for all subsequent events." );
+    m_enableDebugCmd->SetParameterName("enable", true);
+    m_enableDebugCmd->SetDefaultValue(true);
+  }
+}
CVSspam 0.2.8