BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
BDSSensitiveDetector.hh
1/*
2Beam Delivery Simulation (BDSIM) Copyright (C) Royal Holloway,
3University of London 2001 - 2023.
4
5This file is part of BDSIM.
6
7BDSIM is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published
9by the Free Software Foundation version 3 of the License.
10
11BDSIM is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
18*/
19#ifndef BDSSENSITIVEDETECTOR_H
20#define BDSSENSITIVEDETECTOR_H
21
22#include "G4VSensitiveDetector.hh"
23
24#include "G4String.hh"
25#include "G4Types.hh"
26
27#include <vector>
28
29class G4Step;
30class G4TouchableHistory;
31class G4VHit;
32
39class BDSSensitiveDetector: public G4VSensitiveDetector
40{
41public:
42 BDSSensitiveDetector(const G4String& name);
43 BDSSensitiveDetector() = delete;
44
45 virtual ~BDSSensitiveDetector(){;}
46
51 virtual G4VHit* last() const = 0;
52
56 virtual G4bool ProcessHitsOrdered(G4Step* step,
57 G4TouchableHistory* rOHist,
58 const std::vector<G4VHit*>& hits);
59
62 G4bool HitOrdered(G4Step* step,
63 const std::vector<G4VHit*>& hits);
64};
65
66#endif
67
Virtual class to define interface for ordered multi-sensitive detector.
virtual G4bool ProcessHitsOrdered(G4Step *step, G4TouchableHistory *rOHist, const std::vector< G4VHit * > &hits)
virtual G4VHit * last() const =0
G4bool HitOrdered(G4Step *step, const std::vector< G4VHit * > &hits)