LDMX Software
simcore Namespace Reference

Dynamically loadable photonuclear models either from SimCore or external libraries implementing this interface. More...

Classes

class  APrimePhysics
 Defines basic APrime physics. More...
 
class  BertiniAtLeastNProductsModel
 
class  BertiniAtLeastNProductsProcess
 
class  BertiniEventTopologyProcess
 
class  BertiniExactlyNProductsModel
 
class  BertiniExactlyNProductsProcess
 
class  BertiniModel
 The default photonuclear model for LDMX simulations. More...
 
class  BertiniNothingHardModel
 
class  BertiniNothingHardProcess
 
class  BertiniSingleNeutronModel
 
class  BertiniSingleNeutronProcess
 
class  ConditionsInterface
 Handle to the conditions system, provided at construction to classes which require it. More...
 
class  DetectorConstruction
 Implements the Geant4 detector construction. More...
 
class  EcalSD
 ECal sensitive detector that uses an EcalHexReadout to create the hits_. More...
 
class  GammaPhysics
 extra gamma particle physics for simulation and sets up the photonuclear model to use from the configuration More...
 
class  GenieReweightProducer
 
class  HcalSD
 Class defining a sensitive detector of type HCal. More...
 
class  KaonPhysics
 Allows the configuration of properties of kaons produced in the simulation, in particular setting their lifetime and branching ratios. More...
 
class  LoggedSession
 Session that routes G4cout and G4cerr through the Framework logger. More...
 
class  MagneticFieldMap3D
 A 3D B-field map defined as a grid of points with associated B-field values. More...
 
class  MagneticFieldStore
 Global store to access magnetic field objects. More...
 
class  NoPhotoNuclearModel
 A photonuclear model that removes the photonNuclear process entirely. More...
 
class  ParallelWorld
 
class  PhotoNuclearModel
 
class  PrimaryGenerator
 Interface that defines a simulation primary generator. More...
 
class  ReSimulator
 
class  RunManager
 Extension of Geant4 run manager. More...
 
class  ScoringPlaneSD
 Class defining a basic sensitive detector for scoring planes. More...
 
class  SensitiveDetector
 Dynamically loaded Geant4 SensitiveDetector for saving hits in specific volumes within the simulation. More...
 
class  Simulator
 Producer that runs Geant4 simulation inside of ldmx-app. More...
 
class  SimulatorBase
 
class  TrackerSD
 Basic sensitive detector for trackers. More...
 
class  TrackMap
 Defines a map of particle ancestry and particles to be saved. More...
 
class  TrigScintSD
 Class defining a sensitive detector of type trigger scintillator. More...
 
class  UserAction
 Interface that defines a user action. More...
 
class  UserEventInformation
 Encapsulates user defined information associated with a Geant4 event. More...
 
class  UserPrimaryParticleInformation
 Defines extra information attached to a Geant4 primary particle. More...
 
class  UserRegionInformation
 Defines extra information for a detector region. More...
 
class  UserTrackInformation
 Provides user defined information to associate with a Geant4 track. More...
 
class  VisAttributesStore
 Global store of G4VisAttributes created from GDML data. More...
 
class  XsecBiasingOperator
 Our specialization of the biasing operator used with Geant4. More...
 

Enumerations

enum  TYPE {
  RUN = 1 , EVENT , TRACKING , STEPPING ,
  STACKING , NONE
}
 Enum for each of the user action types. More...
 

Functions

static void storeElementZ (const G4Element &element)
 Store the atomic Z for the element in which the dark brem occurred.
 
 DEFINE_FACTORY (XsecBiasingOperator)
 
 DEFINE_FACTORY (UserAction)
 
 DEFINE_FACTORY (PrimaryGenerator)
 
 DEFINE_FACTORY (PhotoNuclearModel)
 
 DEFINE_FACTORY (SensitiveDetector)
 

Detailed Description

Dynamically loadable photonuclear models either from SimCore or external libraries implementing this interface.

For example implementations, see the BertiniNothingHard model in SimCore.

Allows for replacing the default Bertini model from Geant4 with any other G4HadronicInteraction process. The library is used from within the GammaPhysics module in SimCore which ensures that the removeExistingModel and ConstructModel functions are called in the right order and that the photonNuclear process is located in the right part of the G4Gamma process list.

Enumeration Type Documentation

◆ TYPE

Enum for each of the user action types.

Definition at line 41 of file UserAction.h.

41{ RUN = 1, EVENT, TRACKING, STEPPING, STACKING, NONE };

Function Documentation

◆ storeElementZ()

static void simcore::storeElementZ ( const G4Element & element)
static

Store the atomic Z for the element in which the dark brem occurred.

This function is registered with G4DarkBremsstrahlung and will be called with the element that the dark brem will occurr off of. We store the element Z in UserEventInformation for later serialization into the EventHeader

Parameters
[in]elementG4Element off-which the dark brem occurred

Definition at line 24 of file APrimePhysics.cxx.

24 {
25 static_cast<UserEventInformation*>(
26 G4EventManager::GetEventManager()->GetUserInformation())
27 ->setDarkBremMaterialZ(element.GetZ());
28}
Encapsulates user defined information associated with a Geant4 event.

Referenced by simcore::APrimePhysics::ConstructProcess().