ATLAS Offline Software
Public Member Functions | Protected Member Functions | List of all members
ISensitiveDetector Class Referenceabstract

#include "G4AtlasInterfaces/ISensitiveDetector.h"

Inheritance diagram for ISensitiveDetector:
Collaboration diagram for ISensitiveDetector:

Public Member Functions

 ISensitiveDetector ()
 
virtual ~ISensitiveDetector ()
 
 DeclareInterfaceID (ISensitiveDetector, 1, 0)
 Creates the InterfaceID and interfaceID() method. More...
 
virtual StatusCode initializeSD ()=0
 Method to initialize the SD itself - this is our hook for initialization in G4, since in a multi-threaded setup the SDs are local and they might need to be initialized in each thread. More...
 
virtual StatusCode Gather ()=0
 Method to be called at the end of the athena event. More...
 
virtual StatusCode SetupEvent ()=0
 Method to be called at the beginning of the athena event. More...
 

Protected Member Functions

virtual G4VSensitiveDetector * makeSD () const =0
 Method to make the actual SD itself, which will be owned by the tool. More...
 

Detailed Description

Abstract interface to service for Geant4 sensitive detector classes

Author
Zach Marshall
Date
2014-12-20

Definition at line 20 of file ISensitiveDetector.h.

Constructor & Destructor Documentation

◆ ISensitiveDetector()

ISensitiveDetector::ISensitiveDetector ( )
inline

Definition at line 22 of file ISensitiveDetector.h.

22 {}

◆ ~ISensitiveDetector()

virtual ISensitiveDetector::~ISensitiveDetector ( )
inlinevirtual

Definition at line 23 of file ISensitiveDetector.h.

23 {}

Member Function Documentation

◆ DeclareInterfaceID()

ISensitiveDetector::DeclareInterfaceID ( ISensitiveDetector  ,
,
 
)

Creates the InterfaceID and interfaceID() method.

◆ Gather()

virtual StatusCode ISensitiveDetector::Gather ( )
pure virtual

Method to be called at the end of the athena event.

This is where the hit collection should be uploaded into StoreGate. The G4VSensitiveDetector already provides an end of G4 event method. In old-style simulation, there is only one G4 event per athena event. In ISF, there could be many.

◆ initializeSD()

virtual StatusCode ISensitiveDetector::initializeSD ( )
pure virtual

Method to initialize the SD itself - this is our hook for initialization in G4, since in a multi-threaded setup the SDs are local and they might need to be initialized in each thread.

Saves us using the AlgTool's initialize() for this.

◆ makeSD()

virtual G4VSensitiveDetector* ISensitiveDetector::makeSD ( ) const
protectedpure virtual

Method to make the actual SD itself, which will be owned by the tool.

Must be implemented in all concrete base classes.

◆ SetupEvent()

virtual StatusCode ISensitiveDetector::SetupEvent ( )
pure virtual

Method to be called at the beginning of the athena event.

This is where the hit collections should be set up, if need be. G4VSensitiveDetector has an Initialize() method for the beginning of the G4 event as well.


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