2 #include <G4UImanager.hh>
8 #include <G4MuonMinusCaptureAtRest.hh>
9 #include <G4ParticleDefinition.hh>
10 #include <G4ParticleTypes.hh>
11 #include <G4ProcessManager.hh>
13 using namespace G4TankSimulatorASCII;
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");
58 G4cerr <<
"activating TankOpBoundaryProcess" << G4endl;
59 fUImanager->ApplyCommand(
"/process/activate TankOpBoundaryProcess");
65 G4cerr <<
"G4TankPhysicsListCustomization::InactivateCustomProcesses" << G4endl;
67 G4cerr <<
"de-activating TankFastCerenkov" << G4endl;
68 fUImanager->ApplyCommand(
"/process/inactivate TankFastCerenkov");
71 G4cerr <<
"activating StandardCerenkov" << G4endl;
72 fUImanager->ApplyCommand(
"/process/activate StandardCerenkov");
75 G4cerr <<
"de-activating muMinusCaptureAtRest" << G4endl;
76 fUImanager->ApplyCommand(
"/process/inactivate muMinusCaptureAtRest");
80 G4cerr <<
"de-activating TankOpBoundaryProcess" << G4endl;
81 fUImanager->ApplyCommand(
"/process/inactivate TankOpBoundaryProcess");
90 const G4int maxNumPhotons = 3;
95 G4Electron::Electron()->GetProcessManager()->AddContinuousProcess(fastCerenkov);
96 G4Positron::Positron()->GetProcessManager()->AddContinuousProcess(fastCerenkov);
97 G4MuonMinus::MuonMinusDefinition()->GetProcessManager()->AddContinuousProcess(fastCerenkov);
98 G4MuonPlus::MuonPlusDefinition()->GetProcessManager()->AddContinuousProcess(fastCerenkov);
100 G4MuonMinus::MuonMinusDefinition()->GetProcessManager()->AddProcess(
new G4MuonMinusCaptureAtRest);
102 G4ProcessManager& pManager =
103 *G4OpticalPhoton::OpticalPhotonDefinition()->GetProcessManager();
106 const G4OpticalSurfaceModel model = unified;
108 pManager.AddDiscreteProcess(boundary);
bool InactivateCustomProcesses()
void SetTrackSecondariesFirst(const G4bool)
bool ActivateCustomProcesses()
void ConstructProcess()
Construct processes.
static bool MuCaptureOn()
void SetModel(G4OpticalSurfaceModel model)
G4TankPhysicsListCustomization(const int fastCerenkov=0)
~G4TankPhysicsListCustomization()
void SetMaxNumPhotonsPerStep(const G4int)