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 HitCollectionMap;
19 class G4VSensitiveDetector;
20 
21 class ISensitiveDetector : virtual public IAlgTool {
22  public:
24  virtual ~ISensitiveDetector() {}
27 
31  virtual StatusCode initializeSD() = 0;
32 
33  // Temporarily kept while SDs are being incrementally migrated. Should be
34  // removed
35  virtual StatusCode Gather() = 0;
36 
42 
43  // Temporarily kept while SDs are being incrementally migrated. Should be
44  // removed
45  virtual StatusCode SetupEvent() = 0;
46 
51 
52  protected:
55  virtual G4VSensitiveDetector* makeSD() const = 0;
56 };
57 
58 #endif
HitCollectionMap
Small wrapper around hit collection map to facilitate accessing the hit collection.
Definition: HitCollectionMap.h:21
ISensitiveDetector
Definition: ISensitiveDetector.h:21
ISensitiveDetector::SetupEvent
virtual StatusCode SetupEvent()=0
ISensitiveDetector::makeSD
virtual G4VSensitiveDetector * makeSD() const =0
Method to make the actual SD itself, which will be owned by the tool.
ISensitiveDetector::Gather
virtual StatusCode Gather(HitCollectionMap &)=0
Method to be called at the end of the athena event.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ISensitiveDetector::Gather
virtual StatusCode Gather()=0
ISensitiveDetector::~ISensitiveDetector
virtual ~ISensitiveDetector()
Definition: ISensitiveDetector.h:24
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:23
ISensitiveDetector::SetupEvent
virtual StatusCode SetupEvent(HitCollectionMap &)=0
Method to be called at the beginning of the athena event.
ISensitiveDetector::DeclareInterfaceID
DeclareInterfaceID(ISensitiveDetector, 1, 0)
Creates the InterfaceID and interfaceID() method.