LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
larg4::CustomPhysicsFactoryBase Class Referenceabstract

#include "CustomPhysicsFactory.hh"

Inheritance diagram for larg4::CustomPhysicsFactoryBase:
larg4::CustomPhysicsFactory< G4ChargeExchangePhysics > larg4::CustomPhysicsFactory< G4DecayPhysics > larg4::CustomPhysicsFactory< G4EmExtraPhysics > larg4::CustomPhysicsFactory< G4EmLivermorePhysics > larg4::CustomPhysicsFactory< G4EmStandardPhysics > larg4::CustomPhysicsFactory< G4HadronElasticPhysics > larg4::CustomPhysicsFactory< G4HadronElasticPhysicsHP > larg4::CustomPhysicsFactory< G4HadronElasticPhysicsPHP > larg4::CustomPhysicsFactory< G4HadronPhysicsQGSP_BERT > larg4::CustomPhysicsFactory< G4HadronPhysicsQGSP_BERT_HP > larg4::CustomPhysicsFactory< G4IonPhysics > larg4::CustomPhysicsFactory< G4NeutronTrackingCut > larg4::CustomPhysicsFactory< G4StoppingPhysics > larg4::CustomPhysicsFactory< larg4::FastOpticalPhysics > larg4::CustomPhysicsFactory< larg4::OpticalPhysics > larg4::CustomPhysicsFactory< NeutronHPphysics > larg4::CustomPhysicsFactory< T > larg4::CustomPhysicsFactory< OpticalPhysics >

Public Member Functions

 CustomPhysicsFactoryBase (std::string const &name)
 
virtual ~CustomPhysicsFactoryBase ()=default
 
std::string const & GetName () const noexcept
 
virtual G4VPhysicsConstructor * Build () const =0
 

Private Attributes

std::string fName
 

Detailed Description

Definition at line 15 of file CustomPhysicsFactory.hh.

Constructor & Destructor Documentation

larg4::CustomPhysicsFactoryBase::CustomPhysicsFactoryBase ( std::string const &  name)
inlineexplicit

Definition at line 17 of file CustomPhysicsFactory.hh.

References util::empty(), and ~CustomPhysicsFactoryBase().

17  : fName{name}
18  {
19  if (empty(name))
20  std::cerr << "CustomPhysicsFactory Error : Physics registered with no name!" << std::endl;
21  }
decltype(auto) constexpr empty(T &&obj)
ADL-aware version of std::empty.
Definition: StdUtils.h:109
virtual larg4::CustomPhysicsFactoryBase::~CustomPhysicsFactoryBase ( )
virtualdefault

Member Function Documentation

std::string const& larg4::CustomPhysicsFactoryBase::GetName ( ) const
inlinenoexcept

Definition at line 24 of file CustomPhysicsFactory.hh.

References Build(), and fName.

Referenced by larg4::CustomPhysicsTable::AddPhysics().

24 { return fName; }

Member Data Documentation

std::string larg4::CustomPhysicsFactoryBase::fName
private

Definition at line 29 of file CustomPhysicsFactory.hh.

Referenced by GetName().


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