Public Member Functions | List of all members
larg4::CustomPhysicsFactory< T > Class Template Reference

#include <CustomPhysicsFactory.hh>

Inheritance diagram for larg4::CustomPhysicsFactory< T >:
larg4::CustomPhysicsFactoryBase

Public Member Functions

 CustomPhysicsFactory (std::string const &name)
 
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
template<>
G4VPhysicsConstructor * Build () const
 
- Public Member Functions inherited from larg4::CustomPhysicsFactoryBase
 CustomPhysicsFactoryBase (std::string const &name)
 
virtual ~CustomPhysicsFactoryBase ()=default
 
std::string const & GetName () const noexcept
 

Detailed Description

template<class T>
class larg4::CustomPhysicsFactory< T >

Definition at line 37 of file CustomPhysicsFactory.hh.

Constructor & Destructor Documentation

template<class T >
larg4::CustomPhysicsFactory< T >::CustomPhysicsFactory ( std::string const &  name)
explicit

Definition at line 49 of file CustomPhysicsFactory.hh.

51  {
52  // register self in physics table - note, factory is actually registered
53  // in static TheCustomPhysicsTable, not the instance created below
54  // which just acts to pass information along
55  new CustomPhysicsTable(this);
56  }
static QCString name
Definition: declinfo.cpp:673
CustomPhysicsFactoryBase(std::string const &name)

Member Function Documentation

template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4EmStandardPhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 33 of file CustomPhysicsBuiltIns.hh.

34  {
35  return new G4EmStandardPhysics(0);
36  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4EmExtraPhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 40 of file CustomPhysicsBuiltIns.hh.

41  {
42  return new G4EmExtraPhysics("extra EM");
43  }
template<class T>
G4VPhysicsConstructor* larg4::CustomPhysicsFactory< T >::Build ( ) const
inlinevirtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 42 of file CustomPhysicsFactory.hh.

43  {
44  return new T{};
45  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4ChargeExchangePhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 47 of file CustomPhysicsBuiltIns.hh.

48  {
49  return new G4ChargeExchangePhysics(2);
50  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4DecayPhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 54 of file CustomPhysicsBuiltIns.hh.

55  {
56  return new G4DecayPhysics("Decay", 0);
57  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4HadronElasticPhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 62 of file CustomPhysicsBuiltIns.hh.

63  {
64  return new G4HadronElasticPhysics(0);
65  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4HadronElasticPhysicsHP >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 70 of file CustomPhysicsBuiltIns.hh.

71  {
72  return new G4HadronElasticPhysicsHP(0);
73  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4HadronElasticPhysicsPHP >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 78 of file CustomPhysicsBuiltIns.hh.

79  {
80  return new G4HadronElasticPhysicsPHP(0);
81  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4HadronPhysicsQGSP_BERT >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 86 of file CustomPhysicsBuiltIns.hh.

87  {
88  constexpr G4bool quasiElastic{true};
89  return new G4HadronPhysicsQGSP_BERT("hadron", quasiElastic);
90  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4HadronPhysicsQGSP_BERT_HP >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 95 of file CustomPhysicsBuiltIns.hh.

96  {
97  return new G4HadronPhysicsQGSP_BERT_HP("hadronHP", true);
98  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4StoppingPhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 102 of file CustomPhysicsBuiltIns.hh.

103  {
104  return new G4StoppingPhysics("stopping");
105  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4IonPhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 109 of file CustomPhysicsBuiltIns.hh.

110  {
111  return new G4IonPhysics("ion");
112  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4NeutronTrackingCut >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 116 of file CustomPhysicsBuiltIns.hh.

117  {
118  return new G4NeutronTrackingCut("Neutron tracking cut", 0);
119  }

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