15 fBunchSeparation(582*
ns),
16 fBunchLength(12.4*
ns) {
19 fSpillTimeCMD->SetGuidance(
"Set the start time of the spill.");
24 fBunchSepCMD->SetGuidance(
"Set the time between bunch starts.");
36 fBunchCountCMD->SetGuidance(
"Set the number of bunchs in a spill. " 37 "Reset bunch power to default.");
42 "(bunchs are numbered from ONE)");
43 G4UIparameter* bunchPar =
new G4UIparameter(
'i');
44 bunchPar->SetParameterName(
"bunch");
46 G4UIparameter* powerPar =
new G4UIparameter(
'd');
47 powerPar->SetParameterName(
"power");
78 std::istringstream
input((
char*)newValue.c_str());
81 input >> bunch >> power;
102 if (bunch<1 || (
unsigned) bunch >
fBunchPower.size()) {
SpillTimeFactory(EDepSim::UserPrimaryGeneratorMessenger *parent)
G4UIcommand * fBunchPowerCMD
virtual ~SpillTimeFactory()
EDepSim::VTimeGenerator * GetGenerator()
G4UIcmdWithAnInteger * fBunchCountCMD
double fBunchSeparation
The bunch separation.
G4UIcmdWithADoubleAndUnit * fBunchSepCMD
void SetBunchSeparation(double sep)
void SetNewValue(G4UIcommand *, G4String)
Handle messages from the UI processor.
void SetSpillTime(double spillTime)
Construct a module from components.
G4UIcmdWithADoubleAndUnit * fSpillTimeCMD
void SetBunchLength(double length)
G4String CommandName(G4String cmd)
Build a command name with the directory prefix.
G4UIcmdWithADoubleAndUnit * fBunchLengthCMD
#define EDepSimError(outStream)
void SetBunchCount(int bunchs)
Set the number of bunchs (and reset the bunch power) in a spill.
void SetBunchPower(int bunch, double power)
double fSpillTime
The start time of the spill.
std::vector< double > fBunchPower
The power in each bunch.
def parent(G, child, parent_type)
double fBunchLength
The bunch length.