ATLAS Offline Software
ISensitiveDetector.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASINTERFACES_ISENSITIVEDETECTOR_H
6 #define G4ATLASINTERFACES_ISENSITIVEDETECTOR_H
7 
8 #include "GaudiKernel/IAlgTool.h"
9 
18 class G4VSensitiveDetector;
19 
20 class ISensitiveDetector : virtual public IAlgTool {
21  public:
23  virtual ~ISensitiveDetector() {}
26 
30  virtual StatusCode initializeSD() = 0;
31 
36  virtual StatusCode Gather() = 0;
37 
41  virtual StatusCode SetupEvent() = 0;
42 
43  protected:
46  virtual G4VSensitiveDetector* makeSD() const = 0;
47 };
48 
49 #endif
ISensitiveDetector
Definition: ISensitiveDetector.h:20
ISensitiveDetector::SetupEvent
virtual StatusCode SetupEvent()=0
Method to be called at the beginning of the athena event.
ISensitiveDetector::makeSD
virtual G4VSensitiveDetector * makeSD() const =0
Method to make the actual SD itself, which will be owned by the tool.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ISensitiveDetector::Gather
virtual StatusCode Gather()=0
Method to be called at the end of the athena event.
ISensitiveDetector::~ISensitiveDetector
virtual ~ISensitiveDetector()
Definition: ISensitiveDetector.h:23
ISensitiveDetector::initializeSD
virtual StatusCode initializeSD()=0
Method to initialize the SD itself - this is our hook for initialization in G4, since in a multi-thre...
ISensitiveDetector::ISensitiveDetector
ISensitiveDetector()
Definition: ISensitiveDetector.h:22
ISensitiveDetector::DeclareInterfaceID
DeclareInterfaceID(ISensitiveDetector, 1, 0)
Creates the InterfaceID and interfaceID() method.