diff options
| author | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-08-25 17:57:22 +0100 |
|---|---|---|
| committer | shivesh <s.p.mandalia@qmul.ac.uk> | 2018-08-25 17:57:22 +0100 |
| commit | 738c2f88939a041fbc8b6b9cfa3c547b86bc6e42 (patch) | |
| tree | 478718941a025703020c78b146a9b07ff2dabeff /src/G4BeamTestPrimaryGeneratorMessenger.cxx | |
| parent | 92f4fb026c51d68cda6ad25159af01d60ad584e0 (diff) | |
| download | G4BeamTest-738c2f88939a041fbc8b6b9cfa3c547b86bc6e42.tar.gz G4BeamTest-738c2f88939a041fbc8b6b9cfa3c547b86bc6e42.zip | |
Add Cerenkov Processes
Diffstat (limited to 'src/G4BeamTestPrimaryGeneratorMessenger.cxx')
| -rw-r--r-- | src/G4BeamTestPrimaryGeneratorMessenger.cxx | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/G4BeamTestPrimaryGeneratorMessenger.cxx b/src/G4BeamTestPrimaryGeneratorMessenger.cxx new file mode 100644 index 0000000..a7ff777 --- /dev/null +++ b/src/G4BeamTestPrimaryGeneratorMessenger.cxx @@ -0,0 +1,53 @@ +#include "G4BeamTestPrimaryGeneratorMessenger.h" +#include "G4BeamTestPrimaryGeneratorAction.h" + +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4SystemOfUnits.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4BeamTestPrimaryGeneratorMessenger:: + G4BeamTestPrimaryGeneratorMessenger(G4BeamTestPrimaryGeneratorAction* G4BeamTestGun) + : G4UImessenger(), + fG4BeamTestAction(G4BeamTestGun) +{ + fGunDir = new G4UIdirectory("/G4BeamTest/gun/"); + fGunDir->SetGuidance("PrimaryGenerator control"); + + fPolarCmd = + new G4UIcmdWithADoubleAndUnit("/G4BeamTest/gun/optPhotonPolar",this); + fPolarCmd->SetGuidance("Set linear polarization"); + fPolarCmd->SetGuidance(" angle w.r.t. (k,n) plane"); + fPolarCmd->SetParameterName("angle",true); + fPolarCmd->SetUnitCategory("Angle"); + fPolarCmd->SetDefaultValue(-360.0); + fPolarCmd->SetDefaultUnit("deg"); + fPolarCmd->AvailableForStates(G4State_Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4BeamTestPrimaryGeneratorMessenger::~G4BeamTestPrimaryGeneratorMessenger() +{ + delete fPolarCmd; + delete fGunDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void G4BeamTestPrimaryGeneratorMessenger::SetNewValue( + G4UIcommand* command, G4String newValue) +{ + if( command == fPolarCmd ) { + G4double angle = fPolarCmd->GetNewDoubleValue(newValue); + if ( angle == -360.0*deg ) { + fG4BeamTestAction->SetOptPhotonPolar(); + } else { + fG4BeamTestAction->SetOptPhotonPolar(angle); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + |
