Loading...
Searching...
No Matches
Public Member Functions | List of all members
XPhysicsList Class Reference

#include <Doxymodules_exoticphysics.h>

Inheritance diagram for XPhysicsList:
G4VUserPhysicsList

Public Member Functions

 XPhysicsList (G4int verbose=0)
 
 ~XPhysicsList ()
 
virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
virtual void SetCuts ()
 

Detailed Description

Definition at line 50 of file Doxymodules_exoticphysics.h.

Constructor & Destructor Documentation

◆ XPhysicsList()

XPhysicsList::XPhysicsList ( G4int  verbose = 0)

Definition at line 47 of file XPhysicsList.cc.

48 if (verbose) G4cout << "XPhysicsList::constructor" << G4endl;
49
50 SetVerboseLevel(verbose);
51 SetDefaultCutValue(100*mm);
52}

◆ ~XPhysicsList()

XPhysicsList::~XPhysicsList ( )

Definition at line 56 of file XPhysicsList.cc.

56{;}

Member Function Documentation

◆ ConstructParticle()

void XPhysicsList::ConstructParticle ( )
virtual

Definition at line 60 of file XPhysicsList.cc.

60 {
61 G4PhononLong::PhononDefinition();
62 G4PhononTransFast::PhononDefinition();
63 G4PhononTransSlow::PhononDefinition();
64}

◆ ConstructProcess()

void XPhysicsList::ConstructProcess ( )
virtual

Definition at line 68 of file XPhysicsList.cc.

68 {
69 AddTransportation();
70
71 // Only make processes once
72 G4VProcess* phScat = new G4PhononScattering;
73 G4VProcess* phRefl = new G4PhononReflection;
75
76 // Set process verbosity to match physics list, for diagnostics
77 phScat->SetVerboseLevel(verboseLevel);
78 phRefl->SetVerboseLevel(verboseLevel);
79 phDown->SetVerboseLevel(verboseLevel);
80
81 auto particleIterator=GetParticleIterator();
82 particleIterator->reset();
83 while( (*particleIterator)() ){
84 G4ParticleDefinition* particle = particleIterator->value();
85 G4ProcessManager* pmanager = particle->GetProcessManager();
86
87 // WARNING! CHANGING ORDER OF REGISTRATION CAN CHANGE PHYSICS RESULTS
88 if (phScat->IsApplicable(*particle)) pmanager->AddDiscreteProcess(phScat);
89 if (phDown->IsApplicable(*particle)) pmanager->AddDiscreteProcess(phDown);
90 if (phRefl->IsApplicable(*particle)) pmanager->AddDiscreteProcess(phRefl);
91 }
92}

◆ SetCuts()

void XPhysicsList::SetCuts ( )
virtual

Definition at line 96 of file XPhysicsList.cc.

96 {
97 // These values are used as the default production thresholds
98 // for the world volume.
99 SetCutsWithDefault();
100}

The documentation for this class was generated from the following files:

Applications | User Support | Publications | Collaboration