OpticalPhysicsしたい(G4OpticalPhysics

 1int main()
 2{
 3    G4VModularPhysicsList *physics = new FTFP_BERT{};
 4    G4OpticalPhysics *optical_physics = new G4OpticalPhysics{};
 5
 6    physics->RegisterPhysics(optical_physics);
 7    rm->SetUserInitialization(physics);
 8
 9    auto optical_params = G4OpticalParameters::Instance();
10
11    // G4Cerenkovの設定
12    optical_params->SetMaxNumPhotonsPerStep(100);
13    optical_params->SetMaxBetaChangePerStep(10.0);
14    optical_params->SetCerenkovStackPhotons(true);
15    optical_params->SetCerenkovTrackSecondariesFirst(true);
16    optical_params->SetCerenkovVerbosity(1);
17
18    // G4Scintillationの設定
19    optical_params->SetScintYieldFactor(1.0);
20    optical_params->SetScintExcitationRatio(0.0);
21    optical_params->SetScintByParticleType(false);
22    optical_params->SetScintTrackInfo(false);
23    optical_params->SetScintTrackSecondariesFirst(true);
24    optical_params->SetScintFiniteRiseTime(false);
25    optical_params->SetScintStackPhotons(true);
26    optical_params->SetScintVerboseLevel(1);
27
28    // G4OpAbsorptionの設定
29    optical_params->SetAbsorptionVerboseLevel(1);
30}

G4OpticalPhysicsで チェレンコフ光(G4Cerenkov)、 シンチレーション光(G4Scintillation)、 吸収(G4OpAbsorption)、 レイリー散乱(G4OpRayleigh)、 ミー散乱(G4OpMieHG)、 波長変換(G4OpWLS``と``G4OpWLS2)、 境界での散乱(G4OpBoundary)、 の物理プロセスを通じて相互作用できます。

それぞれのプロセスのパラメーターは、G4OpticalParametersを使ってグローバルに制御できます。 G4OpticalParameters::Instance()はシングルトンになっているため、どこからでも呼び出すことができます。

上記のサンプルでは、メインの相互作用(FTFP_BERTモデル)に OpticalPhysicsを追加し、パラメーターを変更しています。

マクロで設定したい(/process/optical/

/process/optical/verbose 1

# /process/optical/processActivation KEY bool
/process/optical/processActivation Cerenkov true
/process/optical/processActivation Scintillation true
/process/optical/processActivation OpAbsorption true
/process/optical/processActivation OpRayleigh true
/process/optical/processActivation OpMieHG true
/process/optical/processActivation OpBoundary true
/process/optical/processActivation OpWLS true
/process/optical/processActivation OpWLS2 true

G4OpticalParametersの設定はマクロで変更できます。 processActivationでOpticalPhysicsで有効にする物理プロセスを選択できます。 デフォルトでは、関係するすべてのプロセスが有効になっています。

リファレンス