BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Private Member Functions
BDSScorerFactory Class Reference

Create primitive scorers on demand. More...

#include <BDSScorerFactory.hh>

Collaboration diagram for BDSScorerFactory:
Collaboration graph

Public Member Functions

G4VPrimitiveScorer * CreateScorer (const BDSScorerInfo *info, const BDSHistBinMapper *mapper, G4double *unit=nullptr, G4LogicalVolume *worldLV=nullptr)
 Main function to create a scorer. More...
 

Private Member Functions

G4VPrimitiveScorer * GetAppropriateScorer (const BDSScorerInfo &info, const BDSHistBinMapper *mapper, G4double *unit=nullptr)
 Construct the primitive scorer required. More...
 
BDSSDFilterAndCreateFilter (const G4String &name, const BDSScorerInfo *info, G4LogicalVolume *worldLV=nullptr) const
 Create a combined filter with AND logic for the scorer. More...
 
 BDSScorerFactory (const BDSScorerFactory &)=delete
 Unused default constructors.
 
BDSScorerFactoryoperator= (const BDSScorerFactory &)=delete
 Unused default constructors.
 

Detailed Description

Create primitive scorers on demand.

Author
Robin Tesse

Definition at line 41 of file BDSScorerFactory.hh.

Constructor & Destructor Documentation

◆ BDSScorerFactory()

BDSScorerFactory::BDSScorerFactory ( )

Definition at line 51 of file BDSScorerFactory.cc.

◆ ~BDSScorerFactory()

BDSScorerFactory::~BDSScorerFactory ( )
inline

Definition at line 45 of file BDSScorerFactory.hh.

Member Function Documentation

◆ CreateFilter()

BDSSDFilterAnd * BDSScorerFactory::CreateFilter ( const G4String &  name,
const BDSScorerInfo info,
G4LogicalVolume *  worldLV = nullptr 
) const
private

Create a combined filter with AND logic for the scorer.

Definition at line 148 of file BDSScorerFactory.cc.

References BDS::IsFinite(), BDSScorerInfo::materialsToExclude, BDSScorerInfo::particle, BDSSDFilterAnd::RegisterFilter(), BDSSDFilterAnd::size(), and BDSScorerInfo::worldVolumeOnly.

Referenced by CreateScorer().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateScorer()

G4VPrimitiveScorer * BDSScorerFactory::CreateScorer ( const BDSScorerInfo info,
const BDSHistBinMapper mapper,
G4double *  unit = nullptr,
G4LogicalVolume *  worldLV = nullptr 
)

Main function to create a scorer.

Definition at line 54 of file BDSScorerFactory.cc.

References CreateFilter(), GetAppropriateScorer(), and BDSScorerInfo::name.

Referenced by BDS::BuildBLMs(), and BDSDetectorConstruction::ConstructScoringMeshes().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAppropriateScorer()

G4VPrimitiveScorer * BDSScorerFactory::GetAppropriateScorer ( const BDSScorerInfo info,
const BDSHistBinMapper mapper,
G4double *  unit = nullptr 
)
private

Construct the primitive scorer required.

Definition at line 69 of file BDSScorerFactory.cc.

References BDSScorerInfo::filename, BDSScorerInfo::name, BDSScorerInfo::pathname, BDSScorerInfo::scorerType, and BDSTypeSafeEnum< def, inner >::underlying().

Referenced by CreateScorer().

Here is the call graph for this function:
Here is the caller graph for this function:

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