LArSoft  v09_93_00
Liquid Argon Software toolkit - https://larsoft.org/
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
 
std::string const & GetName () const noexcept
 

Detailed Description

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

Definition at line 33 of file CustomPhysicsFactory.hh.

Constructor & Destructor Documentation

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

Definition at line 41 of file CustomPhysicsFactory.hh.

43  {
44  // register self in physics table - note, factory is actually registered
45  // in static TheCustomPhysicsTable, not the instance created below
46  // which just acts to pass information along
47  new CustomPhysicsTable(this);
48  }
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<class T>
G4VPhysicsConstructor* larg4::CustomPhysicsFactory< T >::Build ( ) const
inlinevirtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 37 of file CustomPhysicsFactory.hh.

37 { return new T{}; }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4EmExtraPhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 39 of file CustomPhysicsBuiltIns.hh.

40  {
41  return new G4EmExtraPhysics("extra EM");
42  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4ChargeExchangePhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 45 of file CustomPhysicsBuiltIns.hh.

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

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 51 of file CustomPhysicsBuiltIns.hh.

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

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 58 of file CustomPhysicsBuiltIns.hh.

59  {
60  return new G4HadronElasticPhysics(0);
61  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4HadronElasticPhysicsHP >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 65 of file CustomPhysicsBuiltIns.hh.

66  {
67  return new G4HadronElasticPhysicsHP(0);
68  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4HadronElasticPhysicsPHP >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 72 of file CustomPhysicsBuiltIns.hh.

73  {
74  return new G4HadronElasticPhysicsPHP(0);
75  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4HadronPhysicsQGSP_BERT >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 79 of file CustomPhysicsBuiltIns.hh.

80  {
81  constexpr G4bool quasiElastic{true};
82  return new G4HadronPhysicsQGSP_BERT("hadron", quasiElastic);
83  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4HadronPhysicsQGSP_BERT_HP >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 87 of file CustomPhysicsBuiltIns.hh.

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

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 93 of file CustomPhysicsBuiltIns.hh.

94  {
95  return new G4StoppingPhysics("stopping");
96  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4IonPhysics >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 99 of file CustomPhysicsBuiltIns.hh.

100  {
101  return new G4IonPhysics("ion");
102  }
template<>
G4VPhysicsConstructor * larg4::CustomPhysicsFactory< G4NeutronTrackingCut >::Build ( ) const
virtual

Implements larg4::CustomPhysicsFactoryBase.

Definition at line 105 of file CustomPhysicsBuiltIns.hh.

106  {
107  return new G4NeutronTrackingCut("Neutron tracking cut", 0);
108  }
std::string const& larg4::CustomPhysicsFactoryBase::GetName ( ) const
inlinenoexceptinherited

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