ATLAS Offline Software
Loading...
Searching...
No Matches
MinBiasScintillatorSD Class Reference

#include <MinBiasScintillatorSD.h>

Inheritance diagram for MinBiasScintillatorSD:
Collaboration diagram for MinBiasScintillatorSD:

Public Types

using HitVectorBuilder = TileHitVectorCellBuilder<NCells>

Public Member Functions

 MinBiasScintillatorSD (const G4String &name, const std::string &hitCollectionName, const MinBiasScintSDOptions &opts)
 ~MinBiasScintillatorSD ()=default
virtual void Initialize (G4HCofThisEvent *) override final
virtual G4bool ProcessHits (G4Step *, G4TouchableHistory *) override final

Static Public Attributes

static constexpr int NCells = 32

Private Member Functions

HitVectorBuilderGetHitCollection ()
int cell_index (int side, int phi, int eta) const
int dist_index (int side, int eta) const
G4double BirkLaw (const G4Step *aStep) const
double deltaT (double time) const
 function to provide correct deltaT bin width for given time

Private Attributes

const MinBiasScintSDOptions m_options
const TileTBIDm_tileTBID
const std::string m_hitCollectionName
HitVectorBuilderm_hitCollection {}
Identifier m_channelID [NCells]
 array to cache look-ups of Identifiers for each cell (size=nCell).
double m_deltaT
 granularity in time for hits
std::vector< double > m_deltaTvec
double m_timeCut
 max allowed time for hits
double m_lateHitTime
 time for hits which are above m_timeCut threshold it is equal to m_tilesize_deltaT - m_deltaT
double m_deltaT_cell [N_DIST]

Static Private Attributes

static const int N_SIDE = 2
static const int N_PHI = 8
static const int N_ETA = 2
static const int N_DIST = N_SIDE * N_ETA

Detailed Description

Definition at line 35 of file MinBiasScintillatorSD.h.

Member Typedef Documentation

◆ HitVectorBuilder

Constructor & Destructor Documentation

◆ MinBiasScintillatorSD()

MinBiasScintillatorSD::MinBiasScintillatorSD ( const G4String & name,
const std::string & hitCollectionName,
const MinBiasScintSDOptions & opts )

◆ ~MinBiasScintillatorSD()

MinBiasScintillatorSD::~MinBiasScintillatorSD ( )
default

Member Function Documentation

◆ BirkLaw()

G4double MinBiasScintillatorSD::BirkLaw ( const G4Step * aStep) const
private

◆ cell_index()

int MinBiasScintillatorSD::cell_index ( int side,
int phi,
int eta ) const
inlineprivate

Definition at line 64 of file MinBiasScintillatorSD.h.

64 {
65 return (side * N_PHI + phi) * N_ETA + eta;
66 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method

◆ deltaT()

double MinBiasScintillatorSD::deltaT ( double time) const
inlineprivate

function to provide correct deltaT bin width for given time

Definition at line 98 of file MinBiasScintillatorSD.h.

98 {
99 unsigned int i = 0;
100 double delta = m_deltaTvec[i++];
101 while (i < m_deltaTvec.size()) {
102 if (time > m_deltaTvec[i++] && time < m_deltaTvec[i++]) break;
103 delta = m_deltaTvec[i++];
104 }
105 return delta;
106 }
std::vector< double > m_deltaTvec

◆ dist_index()

int MinBiasScintillatorSD::dist_index ( int side,
int eta ) const
inlineprivate

Definition at line 67 of file MinBiasScintillatorSD.h.

67 {
68 return side * N_ETA + eta;
69 }

◆ GetHitCollection()

HitVectorBuilder * MinBiasScintillatorSD::GetHitCollection ( )
private

◆ Initialize()

virtual void MinBiasScintillatorSD::Initialize ( G4HCofThisEvent * )
finaloverridevirtual

◆ ProcessHits()

virtual G4bool MinBiasScintillatorSD::ProcessHits ( G4Step * ,
G4TouchableHistory *  )
finaloverridevirtual

Member Data Documentation

◆ m_channelID

Identifier MinBiasScintillatorSD::m_channelID[NCells]
private

array to cache look-ups of Identifiers for each cell (size=nCell).

Definition at line 74 of file MinBiasScintillatorSD.h.

◆ m_deltaT

double MinBiasScintillatorSD::m_deltaT
private

granularity in time for hits

Definition at line 78 of file MinBiasScintillatorSD.h.

◆ m_deltaT_cell

double MinBiasScintillatorSD::m_deltaT_cell[N_DIST]
private

Definition at line 90 of file MinBiasScintillatorSD.h.

◆ m_deltaTvec

std::vector<double> MinBiasScintillatorSD::m_deltaTvec
private

Definition at line 79 of file MinBiasScintillatorSD.h.

◆ m_hitCollection

HitVectorBuilder* MinBiasScintillatorSD::m_hitCollection {}
private

Definition at line 62 of file MinBiasScintillatorSD.h.

62{};

◆ m_hitCollectionName

const std::string MinBiasScintillatorSD::m_hitCollectionName
private

Definition at line 61 of file MinBiasScintillatorSD.h.

◆ m_lateHitTime

double MinBiasScintillatorSD::m_lateHitTime
private

time for hits which are above m_timeCut threshold it is equal to m_tilesize_deltaT - m_deltaT

Definition at line 88 of file MinBiasScintillatorSD.h.

◆ m_options

const MinBiasScintSDOptions MinBiasScintillatorSD::m_options
private

Definition at line 50 of file MinBiasScintillatorSD.h.

◆ m_tileTBID

const TileTBID* MinBiasScintillatorSD::m_tileTBID
private

Definition at line 52 of file MinBiasScintillatorSD.h.

◆ m_timeCut

double MinBiasScintillatorSD::m_timeCut
private

max allowed time for hits

Definition at line 83 of file MinBiasScintillatorSD.h.

◆ N_DIST

const int MinBiasScintillatorSD::N_DIST = N_SIDE * N_ETA
staticprivate

Definition at line 57 of file MinBiasScintillatorSD.h.

◆ N_ETA

const int MinBiasScintillatorSD::N_ETA = 2
staticprivate

Definition at line 56 of file MinBiasScintillatorSD.h.

◆ N_PHI

const int MinBiasScintillatorSD::N_PHI = 8
staticprivate

Definition at line 55 of file MinBiasScintillatorSD.h.

◆ N_SIDE

const int MinBiasScintillatorSD::N_SIDE = 2
staticprivate

Definition at line 54 of file MinBiasScintillatorSD.h.

◆ NCells

int MinBiasScintillatorSD::NCells = 32
staticconstexpr

Definition at line 41 of file MinBiasScintillatorSD.h.


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