ATLAS Offline Software
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
G4UA::UserActionToolBase< ActionType > Class Template Referenceabstract

abstract template utility base-class for G4 user-action tools. More...

#include <UserActionToolBase.h>

Inheritance diagram for G4UA::UserActionToolBase< ActionType >:
Collaboration diagram for G4UA::UserActionToolBase< ActionType >:

Public Member Functions

 UserActionToolBase (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor. More...
 
virtual StatusCode fillUserAction (G4AtlasUserActions &actionLists) override final
 Fill the user action lists. More...
 

Protected Member Functions

virtual std::unique_ptr< ActionType > makeAndFillAction (G4AtlasUserActions &actionLists)=0
 Make the action and push onto the lists. More...
 

Protected Attributes

ThreadSpecificUserAction< ActionType > m_actions
 Thread-specific storage of the user action. More...
 

Detailed Description

template<class ActionType>
class G4UA::UserActionToolBase< ActionType >

abstract template utility base-class for G4 user-action tools.

The template parameter of this class should be the concrete action type.

Author
Steve Farrell Steve.nosp@m.n.Fa.nosp@m.rrell.nosp@m.@cer.nosp@m.n.ch

Definition at line 32 of file UserActionToolBase.h.

Constructor & Destructor Documentation

◆ UserActionToolBase()

template<class ActionType >
G4UA::UserActionToolBase< ActionType >::UserActionToolBase ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)
inline

Standard constructor.

Definition at line 38 of file UserActionToolBase.h.

40  : base_class(type, name, parent)
41  {}

Member Function Documentation

◆ fillUserAction()

template<class ActionType >
virtual StatusCode G4UA::UserActionToolBase< ActionType >::fillUserAction ( G4AtlasUserActions actionLists)
inlinefinaloverridevirtual

Fill the user action lists.

Definition at line 45 of file UserActionToolBase.h.

46  {
47  auto myAction = makeAndFillAction(actionLists);
48  if(myAction == nullptr) {
49  ATH_MSG_ERROR( "Failed to construct user action in " << name() );
50  return StatusCode::FAILURE;
51  }
52  m_actions.set( std::move(myAction) );
53  return StatusCode::SUCCESS;
54  }

◆ makeAndFillAction()

template<class ActionType >
virtual std::unique_ptr<ActionType> G4UA::UserActionToolBase< ActionType >::makeAndFillAction ( G4AtlasUserActions actionLists)
protectedpure virtual

Make the action and push onto the lists.

Implemented in ActsGeantFollowerTool, G4UA::TestActionTool, G4UA::AthenaStackingActionTool, G4UA::AthenaTrackingActionTool, G4UA::G4SimTimerTool, G4UA::RadiationMapsMakerTool, G4UA::LArGeoH62004EventActionTool, G4UA::LArGeoH62004SteppingActionTool, G4UA::G4TrackCounterTool, G4UA::LooperKillerTool, G4UA::LooperThresholdSetTool, G4UA::RadLenNtupleTool, G4UA::MCTruthSteppingActionTool, G4UA::LengthIntegratorTool, G4UA::EnergyLossRecorderTool, G4UA::CosmicPerigeeActionTool, G4UA::VolumeDumperTool, G4UA::StepHistogramTool, G4UA::TestActionTimerTool, G4UA::TestActionVPTimerTool, G4UA::FluxRecorderTool, G4UA::ScoringPlaneTool, G4UA::SG_StepNtupleTool, G4UA::TestBoundariesUserActionTool, G4UA::TestActionEHistTool, G4UA::HIPLArVolumeAcceptTool, G4UA::CaloG4::CalibrationDefaultProcessingTool, G4UA::TestActionShowerLibTool, G4UA::SteppingValidationTool, G4UA::G4HitFilterTool, G4UA::RadLengthActionTool, G4UA::iGeant4::PhysicsValidationUserActionTool, G4UA::iGeant4::TrackProcessorUserActionFullG4Tool, G4UA::iGeant4::TrackProcessorUserActionPassBackTool, G4UA::FastIDKillerTool, G4UA::ScoringVolumeTrackKillerTool, G4UA::iGeant4::MCTruthUserActionTool, G4UA::G4CosmicAndFilterTool, G4UA::G4CosmicFilterTool, G4UA::G4CosmicOrFilterTool, G4UA::DebugSteppingActionTool, G4UA::FixG4CreatorProcessTool, G4UA::HIPKillerTool, G4UA::MomentumConservationTool, G4UA::PhotonKillerTool, G4UA::StoppedParticleActionTool, G4UA::StepNtupleTool, G4UA::HitWrapperTool, G4UA::GeantFollowerMSTool, G4UA::MaterialStepRecorderTool, G4UA::GeantFollowerTool, G4UA::VolumeDebuggerTool, G4UA::Geant4SetupCheckerTool, G4UA::CheckActivationTool, G4UA::HyperspaceCatcherTool, G4UA::G4AtlantisDumperTool, G4UA::VerboseSelectorTool, and G4UA::EnergyConservationTestTool.

Member Data Documentation

◆ m_actions

template<class ActionType >
ThreadSpecificUserAction<ActionType> G4UA::UserActionToolBase< ActionType >::m_actions
protected

Thread-specific storage of the user action.

Definition at line 63 of file UserActionToolBase.h.


The documentation for this class was generated from the following file:
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
G4UA::UserActionToolBase::m_actions
ThreadSpecificUserAction< ActionType > m_actions
Thread-specific storage of the user action.
Definition: UserActionToolBase.h:63
test_pyathena.parent
parent
Definition: test_pyathena.py:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
G4UA::UserActionToolBase::makeAndFillAction
virtual std::unique_ptr< ActionType > makeAndFillAction(G4AtlasUserActions &actionLists)=0
Make the action and push onto the lists.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78