BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
BesRunActionMessenger.cc
Go to the documentation of this file.
1//---------------------------------------------------------------------------//
2// BOOST --- BESIII Object_Oriented Simulation Tool //
3//---------------------------------------------------------------------------//
4// Description: passing parameters to event action
5// Author: Deng Ziyan
6// Created: Sep, 2004
7// Modified:
8// Comment:
9//---------------------------------------------------------------------------//
10
12#include "BesRunAction.hh"
13#include "G4UIcmdWithAString.hh"
14#include "G4UIcmdWithAnInteger.hh"
15#include "G4UIcommand.hh"
16#include "G4UIdirectory.hh"
17#include "G4ios.hh"
18
20 : m_runAction( runAction ) {
21 m_runActionDirectory = new G4UIdirectory( "/runAction/" );
22 m_runActionDirectory->SetGuidance( "BESIII run action" );
23
24 // MCTruth command
25 m_MCTruthCmd = new G4UIcmdWithAnInteger( "/runAction/MCTruth", this );
26 m_MCTruthCmd->SetGuidance( "whether to save MC Truth information." );
27 m_MCTruthCmd->SetParameterName( "MCTruthFlag", true );
28 m_MCTruthCmd->SetRange( "MCTruthFlag>=0" );
29 m_MCTruthCmd->SetDefaultValue( 0 );
30
31 // ascii I/O command
32 /*G4UIparameter* parameter;
33 G4bool omittable;
34
35 m_asciiCmd = new G4UIcommand("/runAction/ascii",this);
36 m_asciiCmd->SetGuidance("Ascii I/O in BES.");
37 m_asciiCmd->SetGuidance("mdcTruFlag, tofTruFlag, emcTruFlag, mucTruFlag,mdcDigiFlag,
38 tofDigiFlag, emcDigiFlag, mucDigiFlag, asciiFileName");
39
40 parameter = new G4UIparameter("mdcTruFlag",'i',omittable = true);
41 parameter->SetGuidance("whether output mdc Truth information to asciiFile");
42 parameter->SetParameterRange("mdcTruFlag >= 0");
43 parameter->SetDefaultValue(1);
44 m_asciiCmd->SetParameter(parameter);
45
46 parameter = new G4UIparameter("tofTruFlag",'i',omittable = true);
47 parameter->SetGuidance("whether output tof truth information to asciiFile");
48 parameter->SetParameterRange("tofTruFlag >= 0");
49 parameter->SetDefaultValue(1);
50 m_asciiCmd->SetParameter(parameter);
51
52
53 parameter = new G4UIparameter("emcTruFlag",'i',omittable = true);
54 parameter->SetGuidance("whether output emc truth information to asciiFile");
55 parameter->SetParameterRange("emcTruFlag >= 0");
56 parameter->SetDefaultValue(1);
57 m_asciiCmd->SetParameter(parameter);
58
59 parameter = new G4UIparameter("mucTruFlag",'i',omittable = true);
60 parameter->SetGuidance("whether output muc truth information to asciiFile");
61 parameter->SetParameterRange("mucTruFlag >= 0");
62 parameter->SetDefaultValue(1);
63 m_asciiCmd->SetParameter(parameter);
64
65
66 parameter = new G4UIparameter("mdcDigiFlag",'i',omittable = true);
67 parameter->SetGuidance("whether output mdc digi information to asciiFile");
68 parameter->SetParameterRange("mdcDigiFlag >= 0");
69 parameter->SetDefaultValue(1);
70 m_asciiCmd->SetParameter(parameter);
71
72 parameter = new G4UIparameter("tofDigiFlag",'i',omittable = true);
73 parameter->SetGuidance("whether output tof digi information to asciiFile");
74 parameter->SetParameterRange("tofDigiFlag >= 0");
75 parameter->SetDefaultValue(1);
76 m_asciiCmd->SetParameter(parameter);
77
78
79 parameter = new G4UIparameter("emcDigiFlag",'i',omittable = true);
80 parameter->SetGuidance("whether output emc digi information to asciiFile");
81 parameter->SetParameterRange("emcDigiFlag >= 0");
82 parameter->SetDefaultValue(1);
83 m_asciiCmd->SetParameter(parameter);
84
85 parameter = new G4UIparameter("mucDigiFlag",'i',omittable = true);
86 parameter->SetGuidance("whether output muc digi information to asciiFile");
87 parameter->SetParameterRange("mucDigiFlag >= 0");
88 parameter->SetDefaultValue(1);
89 m_asciiCmd->SetParameter(parameter);
90
91 parameter = new G4UIparameter("asciiFileName",'s',omittable = true);
92 parameter->SetGuidance("specify the ascii file name");
93 parameter->SetDefaultValue("AsciiDmp_out.dat");
94 m_asciiCmd->SetParameter(parameter);
95 */
96}
97
99 delete m_runActionDirectory;
100 delete m_MCTruthCmd;
101 delete m_asciiCmd;
102}
103
104void BesRunActionMessenger::SetNewValue( G4UIcommand* command, G4String newValue ) {
105 if ( command == m_MCTruthCmd )
106 m_runAction->SetMCTruthFlag( m_MCTruthCmd->GetNewIntValue( newValue ) );
107
108 /*else if( command == m_asciiCmd)
109 {
110 G4int mdcTruFlag, tofTruFlag, emcTruFlag, mucTruFlag;
111 G4int mdcDigiFlag, tofDigiFlag, emcDigiFlag, mucDigiFlag;
112 G4String fileName;
113
114 std::istrstream is ((char*)newValue.data());
115 is >> mdcTruFlag >> tofTruFlag >> emcTruFlag >> mucTruFlag
116 >> mdcDigiFlag >> tofDigiFlag >> emcDigiFlag >> mucDigiFlag
117 >> fileName;
118 m_runAction->SetMdcTruFlag(mdcTruFlag);
119 m_runAction->SetTofTruFlag(tofTruFlag);
120 m_runAction->SetEmcTruFlag(emcTruFlag);
121 m_runAction->SetMucTruFlag(mucTruFlag);
122
123 m_runAction->SetMdcDigiFlag(mdcDigiFlag);
124 m_runAction->SetTofDigiFlag(tofDigiFlag);
125 m_runAction->SetEmcDigiFlag(emcDigiFlag);
126 m_runAction->SetMucDigiFlag(mucDigiFlag);
127
128 m_runAction->SetAsciiFile(fileName);
129 }*/
130}
BesRunActionMessenger(BesRunAction *runAction)
void SetNewValue(G4UIcommand *command, G4String newValues)