13 #include "G4hMultipleScattering.hh" 14 #include "G4hIonisation.hh" 15 #include "G4CoulombScattering.hh" 16 #include "G4ProcessManager.hh" 21 using namespace CLHEP;
27 : G4VPhysicsConstructor(name)
40 <<
"CustomPhysicsListSS: Path for custom particle definition file: \n" 49 <<
"===== CustomPhysicsList::ConstructParticle ";
56 <<
"CustomPhysicsListSS: adding CustomPhysics processes";
59 G4PhysicsListHelper* ph = G4PhysicsListHelper::GetPhysicsListHelper();
65 G4ProcessManager* pmanager = particle->GetProcessManager();
67 <<
"CustomPhysicsListSS: " << particle->GetParticleName()
68 <<
" PDGcode= " << particle->GetPDGEncoding()
69 <<
" Mass= " << particle->GetPDGMass()/
GeV <<
" GeV.";
71 if(particle->GetPDGCharge() != 0.0) {
72 ph->RegisterProcess(
new G4hMultipleScattering, particle);
73 ph->RegisterProcess(
new G4hIonisation, particle);
81 <<
"CustomPhysicsListSS: " << particle->GetParticleName()
83 <<
" GeV; SpectatorMass= " << cp->
GetSpectator()->GetPDGMass()/
GeV <<
" GeV.";
88 if(particle->GetParticleType()==
"darkpho"){
90 pmanager->AddDiscreteProcess(darkGamma);
std::string particleDefFilePath
T getParameter(std::string const &) const
std::unique_ptr< CustomParticleFactory > fParticleFactory
void ConstructParticle() override
G4ParticleDefinition * GetCloud()
~CustomPhysicsListSS() override
static G4ThreadLocal std::unique_ptr< G4Decay > fDecayProcess
bool fHadronicInteraction
G4ParticleDefinition * GetSpectator()
static G4ThreadLocal std::unique_ptr< G4ProcessHelper > myHelper
edm::ParameterSet myConfig
static bool s_isRHadron(int pdg)
void ConstructProcess() override
CustomPhysicsListSS(const std::string &name, const edm::ParameterSet &p)