ATLAS Offline Software
Loading...
Searching...
No Matches
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
17
19class G4VSensitiveDetector;
20
21class ISensitiveDetector : virtual public IAlgTool {
22 public:
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
41 virtual StatusCode Gather(HitCollectionMap&) = 0;
42
43 // Temporarily kept while SDs are being incrementally migrated. Should be
44 // removed
45 virtual StatusCode SetupEvent() = 0;
46
50 virtual StatusCode SetupEvent(HitCollectionMap&) = 0;
51
52 protected:
55 virtual G4VSensitiveDetector* makeSD() const = 0;
56};
57
58#endif
Small wrapper around hit collection map to facilitate accessing the hit collection.
virtual StatusCode Gather(HitCollectionMap &)=0
Method to be called at the end of the athena event.
virtual StatusCode SetupEvent(HitCollectionMap &)=0
Method to be called at the beginning of the athena event.
virtual StatusCode Gather()=0
virtual G4VSensitiveDetector * makeSD() const =0
Method to make the actual SD itself, which will be owned by the tool.
DeclareInterfaceID(ISensitiveDetector, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual StatusCode SetupEvent()=0
virtual StatusCode initializeSD()=0
Method to initialize the SD itself - this is our hook for initialization in G4, since in a multi-thre...