2 #include <G4UImanager.hh>
8 #include <G4MuonMinusCaptureAtRest.hh>
9 #include <G4ParticleDefinition.hh>
10 #include <G4ParticleTypes.hh>
11 #include <G4ProcessManager.hh>
13 using namespace G4TankSimulatorOG;
16 tls::G4VPhysicsListCustomization()
18 defaultCutValue = 0.1*
mm;
31 const double cutForGamma = 30*
mm;
32 const double cutForElectron = 0.5*
mm;
33 const double cutForPositron = 1e-5*
mm;
35 SetCutValue(cutForGamma,
"gamma");
36 SetCutValue(cutForElectron,
"e-");
37 SetCutValue(cutForPositron,
"e+");
38 SetCutValue(0,
"proton");
42 G4cerr <<
"G4TankPhysicsListCustomization::ActivateCustomProcesses" << G4endl;
45 G4cerr <<
"activating TankFastCerenkov" << G4endl;
46 fUImanager->ApplyCommand(
"/process/activate TankFastCerenkov");
47 G4cerr <<
"de-activating StandardCerenkov" << G4endl;
48 fUImanager->ApplyCommand(
"/process/inactivate StandardCerenkov");
52 G4cerr <<
"activating muMinusCaptureAtRest" << G4endl;
53 fUImanager->ApplyCommand(
"/process/activate muMinusCaptureAtRest");
56 G4cerr <<
"activating TankOpBoundaryProcess" << G4endl;
57 fUImanager->ApplyCommand(
"/process/activate TankOpBoundaryProcess");
63 G4cerr <<
"G4TankPhysicsListCustomization::InactivateCustomProcesses" << G4endl;
65 G4cerr <<
"de-activating TankFastCerenkov" << G4endl;
66 fUImanager->ApplyCommand(
"/process/inactivate TankFastCerenkov");
69 G4cerr <<
"activating StandardCerenkov" << G4endl;
70 fUImanager->ApplyCommand(
"/process/activate StandardCerenkov");
73 G4cerr <<
"de-activating muMinusCaptureAtRest" << G4endl;
74 fUImanager->ApplyCommand(
"/process/inactivate muMinusCaptureAtRest");
76 G4cerr <<
"de-activating TankOpBoundaryProcess" << G4endl;
77 fUImanager->ApplyCommand(
"/process/inactivate TankOpBoundaryProcess");
86 const G4int maxNumPhotons = 3;
91 G4Electron::Electron()->GetProcessManager()->AddContinuousProcess(fastCerenkov);
92 G4Positron::Positron()->GetProcessManager()->AddContinuousProcess(fastCerenkov);
93 G4MuonMinus::MuonMinusDefinition()->GetProcessManager()->AddContinuousProcess(fastCerenkov);
94 G4MuonPlus::MuonPlusDefinition()->GetProcessManager()->AddContinuousProcess(fastCerenkov);
96 G4MuonMinus::MuonMinusDefinition()->GetProcessManager()->AddProcess(
new G4MuonMinusCaptureAtRest);
98 G4ProcessManager& pManager =
99 *G4OpticalPhoton::OpticalPhotonDefinition()->GetProcessManager();
102 const G4OpticalSurfaceModel model = unified;
104 pManager.AddDiscreteProcess(boundary);
bool InactivateCustomProcesses()
~G4TankPhysicsListCustomization()
bool ActivateCustomProcesses()
void ConstructProcess()
Construct processes.
void SetMaxNumPhotonsPerStep(const G4int)
void SetModel(G4OpticalSurfaceModel model)
G4TankPhysicsListCustomization(const bool fastCerenkov=false)
void SetTrackSecondariesFirst(const G4bool)
static bool MuCaptureOn()