BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
The sensitive detector class that provides sensitivity to record thin thing hits. More...
#include <BDSSDThinThing.hh>
Public Member Functions | |
BDSSDThinThing (const G4String &name, const BDS::TrajectoryOptions &trajectoryOptionsIn) | |
Include unique name for each instance. More... | |
virtual void | Initialize (G4HCofThisEvent *HCE) override |
virtual G4bool | ProcessHits (G4Step *aStep, G4TouchableHistory *rOHist) override |
virtual G4bool | ProcessHitsOrdered (G4Step *step, G4TouchableHistory *rOHist, const std::vector< G4VHit * > &hits) override |
virtual G4VHit * | last () const override |
Return the last collimator hit. More... | |
BDSSDThinThing & | operator= (const BDSSDThinThing &)=delete |
Assignment and copy constructor not implemented nor used. | |
BDSSDThinThing (BDSSDThinThing &)=delete | |
Assignment and copy constructor not implemented nor used. | |
![]() | |
BDSSensitiveDetector (const G4String &name) | |
virtual G4VHit * | last () const =0 |
virtual G4bool | ProcessHitsOrdered (G4Step *step, G4TouchableHistory *rOHist, const std::vector< G4VHit * > &hits) |
G4bool | HitOrdered (G4Step *step, const std::vector< G4VHit * > &hits) |
Private Attributes | |
BDSHitsCollectionThinThing * | thinThingCollection |
The hits collection for this sensitive detector class that's owned by each instance. More... | |
G4String | itsCollectionName |
The name of the hits collection that's created and registered. More... | |
G4int | itsHCID |
const G4bool | storeTrajectoryLocal |
const G4bool | storeTrajectoryLinks |
const G4bool | storeTrajectoryIon |
The sensitive detector class that provides sensitivity to record thin thing hits.
The purpose of this class is to identify a primary scatter point in a very thing object such as a wire or gas volume. In such a case, the primary may loose energy due to ionisation or multiple scattering in an AlongStep process but Geant4 will report Transportation as the process that defined the step length. Therefore, we conventionally don't identify it as a scatter point as it's indistinguishable from a transportation step (ie physics process didn't define the step).
Practically, without this ability we would see primaries lost in the model due to a change in energy but the primary not have 'hit' anything.
Definition at line 55 of file BDSSDThinThing.hh.
BDSSDThinThing::BDSSDThinThing | ( | const G4String & | name, |
const BDS::TrajectoryOptions & | trajectoryOptionsIn | ||
) |
Include unique name for each instance.
Definition at line 37 of file BDSSDThinThing.cc.
|
virtual |
Definition at line 50 of file BDSSDThinThing.cc.
|
overridevirtual |
Overriden from G4VSensitiveDetector. Creates hits collection and registers it with the hits collection of this event (HCE).
Definition at line 53 of file BDSSDThinThing.cc.
References itsCollectionName, itsHCID, and thinThingCollection.
|
overridevirtual |
Return the last collimator hit.
Implements BDSSensitiveDetector.
Definition at line 106 of file BDSSDThinThing.cc.
References thinThingCollection.
|
overridevirtual |
Overriden from G4VSensitiveDetector. Creates hit instances and appends them to the hits collection.
Definition at line 68 of file BDSSDThinThing.cc.
References ProcessHitsOrdered().
|
overridevirtual |
Override creation of hit w.r.t. hit already generated by other SD, namely the energy deposition SD for collimator hits.
Reimplemented from BDSSensitiveDetector.
Definition at line 74 of file BDSSDThinThing.cc.
References BDSGlobalConstants::Instance(), BDS::IsFinite(), BDSTrajectoryPoint::IsScatteringPoint(), and thinThingCollection.
Referenced by ProcessHits().
|
private |
The name of the hits collection that's created and registered.
Definition at line 92 of file BDSSDThinThing.hh.
Referenced by Initialize().
|
private |
Hits collection ID - an integer look up for the hits collection provided by G4SDManager (a registry) that is given to the G4HCofThisEvent (Hits collection of the event).
Definition at line 97 of file BDSSDThinThing.hh.
Referenced by Initialize().
|
private |
Definition at line 101 of file BDSSDThinThing.hh.
|
private |
Definition at line 100 of file BDSSDThinThing.hh.
|
private |
Definition at line 99 of file BDSSDThinThing.hh.
|
private |
The hits collection for this sensitive detector class that's owned by each instance.
Definition at line 89 of file BDSSDThinThing.hh.
Referenced by Initialize(), last(), and ProcessHitsOrdered().