Warning, file /geant4/examples/extended/parameterisations/Par04/include/Par04ParallelFastSensitiveDetector.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef PAR04PARALLELFASTSENSITIVEDETECTOR_HH
0027 #define PAR04PARALLELFASTSENSITIVEDETECTOR_HH
0028
0029 #include "Par04Hit.hh" // for Par04Hit (ptr only), Par04...
0030
0031 #include "G4SystemOfUnits.hh" // for m
0032 #include "G4ThreeVector.hh" // for G4ThreeVector
0033 #include "G4VFastSimSensitiveDetector.hh" // for G4VFastSimSensitiveDetector
0034 #include "G4VSensitiveDetector.hh" // for G4VSensitiveDetector
0035
0036 #include <CLHEP/Units/SystemOfUnits.h> // for m, pi
0037 #include <G4String.hh> // for G4String
0038 #include <G4Types.hh> // for G4bool, G4int
0039 #include <unordered_map>
0040 class G4FastHit;
0041 class G4FastTrack;
0042 class G4HCofThisEvent;
0043 class G4Step;
0044 class G4TouchableHistory;
0045
0046
0047
0048
0049
0050
0051
0052 class Par04ParallelFastSensitiveDetector : public G4VSensitiveDetector,
0053 public G4VFastSimSensitiveDetector
0054 {
0055 public:
0056 Par04ParallelFastSensitiveDetector(G4String aName);
0057 Par04ParallelFastSensitiveDetector(G4String aName, G4int aNbOfLayers, G4int aNbOfSlices);
0058 virtual ~Par04ParallelFastSensitiveDetector();
0059
0060 virtual void Initialize(G4HCofThisEvent* HCE) final;
0061
0062 virtual G4bool ProcessHits(G4Step* aStep, G4TouchableHistory* aROhist) final;
0063 virtual G4bool ProcessHits(const G4FastHit* aHit, const G4FastTrack* aTrack,
0064 G4TouchableHistory* aROhist) final;
0065 virtual void EndOfEvent(G4HCofThisEvent* aHC) final;
0066
0067 private:
0068
0069 Par04HitsCollection* fHitsCollection = nullptr;
0070 std::unordered_map<G4int, std::unique_ptr<Par04Hit>> fHitsMap;
0071
0072 G4int fHitCollectionID = -1;
0073
0074 G4int fNbOfLayers = 1;
0075 G4int fNbOfSlices = 1;
0076 };
0077
0078 #endif