BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
BDSSDThinThing.hh
1/*
2Beam Delivery Simulation (BDSIM) Copyright (C) BDSIM Collaboration, 2001 - 2026.
3
4This file is part of BDSIM.
5
6BDSIM is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published
8by the Free Software Foundation version 3 of the License.
9
10BDSIM is distributed in the hope that it will be useful, but
11WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef BDSSDTHINTHING_H
19#define BDSSDTHINTHING_H
20
21#include "BDSHitThinThing.hh"
22#include "BDSSensitiveDetector.hh"
23
24#include "G4String.hh"
25#include "G4Types.hh"
26
27#include <vector>
28
29namespace BDS
30{
31 struct TrajectoryOptions;
32}
33class G4Step;
34class G4HCofThisEvent;
35class G4TouchableHistory;
36class G4VHit;
37
55{
56public:
58 BDSSDThinThing(const G4String& name,
59 const BDS::TrajectoryOptions& trajectoryOptionsIn);
60
65
66 virtual ~BDSSDThinThing();
67
70 virtual void Initialize(G4HCofThisEvent* HCE) override;
71
74 virtual G4bool ProcessHits(G4Step* aStep,
75 G4TouchableHistory* rOHist) override;
76
79 virtual G4bool ProcessHitsOrdered(G4Step* step,
80 G4TouchableHistory* rOHist,
81 const std::vector<G4VHit*>& hits) override;
82
84 virtual G4VHit* last() const override;
85
86private:
89
92
96 G4int itsHCID;
97
98 const G4bool storeTrajectoryLocal;
99 const G4bool storeTrajectoryLinks;
100 const G4bool storeTrajectoryIon;
101};
102
103#endif
104
The sensitive detector class that provides sensitivity to record thin thing hits.
virtual G4bool ProcessHits(G4Step *aStep, G4TouchableHistory *rOHist) override
BDSSDThinThing(BDSSDThinThing &)=delete
Assignment and copy constructor not implemented nor used.
virtual G4bool ProcessHitsOrdered(G4Step *step, G4TouchableHistory *rOHist, const std::vector< G4VHit * > &hits) override
BDSHitsCollectionThinThing * thinThingCollection
The hits collection for this sensitive detector class that's owned by each instance.
G4String itsCollectionName
The name of the hits collection that's created and registered.
virtual G4VHit * last() const override
Return the last collimator hit.
virtual void Initialize(G4HCofThisEvent *HCE) override
BDSSDThinThing & operator=(const BDSSDThinThing &)=delete
Assignment and copy constructor not implemented nor used.
Virtual class to define interface for ordered multi-sensitive detector.
Return either G4Tubs or G4CutTubs depending on flat face.