Project
Loading...
Searching...
No Matches
o2::fastsim Namespace Reference

Classes

struct  FastSimInput
 
class  FastSimModel
 
struct  FastSimOutput
 One particle leaving the envelope. More...
 
class  FastSimRegionConstruction
 
class  G4FastSimulation
 Creates and registers the models named in G4.fastSimModels. More...
 
class  G4RunConfiguration
 
class  ToyAbsorberFastSim
 

Functions

std::set< std::string > mediaInSubtree (TGeoVolume *volume)
 
std::set< std::string > mediaInSubtree (const std::string &volumeName)
 

Variables

constexpr double kSurfaceEpsilonCm = 1e-5
 

Detailed Description

Wiring of the fast simulation models into the Geant4 engine.

The feature is OFF unless G4.fastSimModels names a model.

o2-sim -n 10 -g pythia8pp -e TGeant4 -m PIPE ABSO –configKeyValues "G4.fastSimModels=toyAbsorber; G4.fastSimEnvelope=AFaM"

G4.fastSimEnvelope names the VOLUME the model stands in for. The regions Geant4 needs in order to consult the model are derived from it by walking its subtree and collecting the media (FastSimRegions.h) – a region in O2 can only be "every volume of a given material", so covering a module means naming all of its materials, and that list should not be maintained by hand.

G4.fastSimRegions overrides the walk with an explicit space-separated list of media, for when a model should see less than a whole subtree.

Function Documentation

◆ mediaInSubtree() [1/2]

std::set< std::string > o2::fastsim::mediaInSubtree ( const std::string &  volumeName)

Same, looked up by volume name in the current TGeo geometry. Empty if there is no such volume.

Definition at line 60 of file FastSimRegions.cxx.

◆ mediaInSubtree() [2/2]

std::set< std::string > o2::fastsim::mediaInSubtree ( TGeoVolume *  volume)

Every tracking medium used by volume or anything below it. Takes a non-const pointer because TGeo's accessors are not const.

Definition at line 51 of file FastSimRegions.cxx.

Variable Documentation

◆ kSurfaceEpsilonCm

constexpr double o2::fastsim::kSurfaceEpsilonCm = 1e-5
constexpr

A secondary created exactly on the envelope surface is located by the navigator in whichever daughter owns that point, which costs two extra zero-length steps before it gets out. Models should emit just beyond it.

Definition at line 58 of file FastSimModel.h.