![]() |
|
|||
File indexing completed on 2025-09-17 08:53:37
0001 //------------------------------- -*- C++ -*- -------------------------------// 0002 // Copyright Celeritas contributors: see top-level COPYRIGHT file for details 0003 // SPDX-License-Identifier: (Apache-2.0 OR MIT) 0004 //---------------------------------------------------------------------------// 0005 //! \file celeritas/ext/detail/EmStandardPhysics.hh 0006 //---------------------------------------------------------------------------// 0007 #pragma once 0008 0009 #include <G4ParticleDefinition.hh> 0010 #include <G4VPhysicsConstructor.hh> 0011 0012 #include "../GeantPhysicsOptions.hh" 0013 0014 namespace celeritas 0015 { 0016 namespace detail 0017 { 0018 //---------------------------------------------------------------------------// 0019 /*! 0020 * Construct Celeritas-supported EM standard physics. 0021 */ 0022 class EmStandardPhysics : public G4VPhysicsConstructor 0023 { 0024 public: 0025 //!@{ 0026 //! \name Type aliases 0027 using Options = GeantPhysicsOptions; 0028 //!@} 0029 0030 public: 0031 // Set up during construction 0032 explicit EmStandardPhysics(Options const& options); 0033 0034 // Set up minimal EM particle list 0035 void ConstructParticle() override; 0036 // Set up process list 0037 void ConstructProcess() override; 0038 0039 private: 0040 Options options_; 0041 0042 // Add EM processes for photons 0043 void add_gamma_processes(); 0044 // Add EM processes for electrons and positrons 0045 void add_e_processes(G4ParticleDefinition* p); 0046 // Add EM processes for muons 0047 void add_mu_processes(G4ParticleDefinition* p); 0048 }; 0049 0050 //---------------------------------------------------------------------------// 0051 } // namespace detail 0052 } // namespace celeritas
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |