BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Private Attributes
BDSMultiSensitiveDetectorOrdered Class Reference

Modified G4MultiSensitiveDetector that retains order and passes hits in sequence. More...

#include <BDSMultiSensitiveDetectorOrdered.hh>

Inheritance diagram for BDSMultiSensitiveDetectorOrdered:
Inheritance graph
Collaboration diagram for BDSMultiSensitiveDetectorOrdered:
Collaboration graph

Public Types

using sds_t = std::vector< BDSSensitiveDetector * >
 
using sdsConstIter = sds_t::const_iterator
 

Public Member Functions

 BDSMultiSensitiveDetectorOrdered (const G4String &name)
 
 BDSMultiSensitiveDetectorOrdered (const BDSMultiSensitiveDetectorOrdered &rhs)
 
BDSMultiSensitiveDetectorOrderedoperator= (const BDSMultiSensitiveDetectorOrdered &rhs)
 
virtual void Initialize (G4HCofThisEvent *)
 
virtual void EndOfEvent (G4HCofThisEvent *)
 
virtual void clear ()
 
virtual void DrawAll ()
 
virtual void PrintAll ()
 
virtual G4VSensitiveDetector * Clone () const
 
BDSSensitiveDetectorGetSD (const int i) const
 
sds_t::size_type GetSize () const
 
sdsConstIter GetBegin () const
 
sdsConstIter GetEnd () const
 
void ClearSDs ()
 
void AddSD (BDSSensitiveDetector *sd)
 

Protected Member Functions

virtual G4bool ProcessHits (G4Step *step, G4TouchableHistory *rOHist)
 
virtual G4int GetCollectionID (G4int) final
 The following method does not have a meaning for this concrete class.
 

Private Attributes

sds_t sensitiveDetectors
 

Detailed Description

Modified G4MultiSensitiveDetector that retains order and passes hits in sequence.

Generated G4VHit* objects are passed in order to each successive SD that should inherit BDSSensitiveDetector. If no hit is stored for that SD, a nullptr is inserted into the vector. That way, the vector will always have the same length for a given SD.

Author
Laurie Nevay

Definition at line 40 of file BDSMultiSensitiveDetectorOrdered.hh.

Member Typedef Documentation

◆ sds_t

using BDSMultiSensitiveDetectorOrdered::sds_t = std::vector<BDSSensitiveDetector*>

Definition at line 57 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ sdsConstIter

using BDSMultiSensitiveDetectorOrdered::sdsConstIter = sds_t::const_iterator

Definition at line 58 of file BDSMultiSensitiveDetectorOrdered.hh.

Constructor & Destructor Documentation

◆ BDSMultiSensitiveDetectorOrdered() [1/2]

BDSMultiSensitiveDetectorOrdered::BDSMultiSensitiveDetectorOrdered ( const G4String &  name)

Definition at line 25 of file BDSMultiSensitiveDetectorOrdered.cc.

◆ ~BDSMultiSensitiveDetectorOrdered()

BDSMultiSensitiveDetectorOrdered::~BDSMultiSensitiveDetectorOrdered ( )
virtual

Definition at line 29 of file BDSMultiSensitiveDetectorOrdered.cc.

◆ BDSMultiSensitiveDetectorOrdered() [2/2]

BDSMultiSensitiveDetectorOrdered::BDSMultiSensitiveDetectorOrdered ( const BDSMultiSensitiveDetectorOrdered rhs)

Definition at line 34 of file BDSMultiSensitiveDetectorOrdered.cc.

Member Function Documentation

◆ AddSD()

void BDSMultiSensitiveDetectorOrdered::AddSD ( BDSSensitiveDetector sd)
inline

Definition at line 64 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ clear()

void BDSMultiSensitiveDetectorOrdered::clear ( )
virtual

Definition at line 50 of file BDSMultiSensitiveDetectorOrdered.cc.

◆ ClearSDs()

void BDSMultiSensitiveDetectorOrdered::ClearSDs ( )
inline

Definition at line 63 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ Clone()

G4VSensitiveDetector * BDSMultiSensitiveDetectorOrdered::Clone ( ) const
virtual

Definition at line 86 of file BDSMultiSensitiveDetectorOrdered.cc.

◆ DrawAll()

void BDSMultiSensitiveDetectorOrdered::DrawAll ( )
virtual

Definition at line 56 of file BDSMultiSensitiveDetectorOrdered.cc.

◆ EndOfEvent()

virtual void BDSMultiSensitiveDetectorOrdered::EndOfEvent ( G4HCofThisEvent *  )
inlinevirtual

Definition at line 51 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ GetBegin()

sdsConstIter BDSMultiSensitiveDetectorOrdered::GetBegin ( ) const
inline

Definition at line 61 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ GetCollectionID()

virtual G4int BDSMultiSensitiveDetectorOrdered::GetCollectionID ( G4int  )
inlinefinalprotectedvirtual

The following method does not have a meaning for this concrete class.

Definition at line 71 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ GetEnd()

sdsConstIter BDSMultiSensitiveDetectorOrdered::GetEnd ( ) const
inline

Definition at line 62 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ GetSD()

BDSSensitiveDetector * BDSMultiSensitiveDetectorOrdered::GetSD ( const int  i) const
inline

Definition at line 59 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ GetSize()

sds_t::size_type BDSMultiSensitiveDetectorOrdered::GetSize ( ) const
inline

Definition at line 60 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ Initialize()

virtual void BDSMultiSensitiveDetectorOrdered::Initialize ( G4HCofThisEvent *  )
inlinevirtual

Definition at line 50 of file BDSMultiSensitiveDetectorOrdered.hh.

◆ operator=()

BDSMultiSensitiveDetectorOrdered & BDSMultiSensitiveDetectorOrdered::operator= ( const BDSMultiSensitiveDetectorOrdered rhs)

Definition at line 40 of file BDSMultiSensitiveDetectorOrdered.cc.

◆ PrintAll()

void BDSMultiSensitiveDetectorOrdered::PrintAll ( )
virtual

Definition at line 62 of file BDSMultiSensitiveDetectorOrdered.cc.

◆ ProcessHits()

G4bool BDSMultiSensitiveDetectorOrdered::ProcessHits ( G4Step *  step,
G4TouchableHistory *  rOHist 
)
protectedvirtual

Definition at line 68 of file BDSMultiSensitiveDetectorOrdered.cc.

Field Documentation

◆ sensitiveDetectors

sds_t BDSMultiSensitiveDetectorOrdered::sensitiveDetectors
private

Definition at line 74 of file BDSMultiSensitiveDetectorOrdered.hh.


The documentation for this class was generated from the following files: