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

#include <MinBiasScintillatorSD.h>

Inheritance diagram for MinBiasScintillatorSD:
Collaboration diagram for MinBiasScintillatorSD:

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
void EndOfAthenaEvent ()

Private Member Functions

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
SG::WriteHandle< TileHitVectorm_HitColl
const TileTBIDm_tileTBID
std::vector< int > m_numberOfHitsInCell
 number of contributions to the energy in each cell (size=nCell).
std::vector< TileSimHit * > m_tempSimHit
 local temporary TileSimHit for each cell (size=nCell).
Identifier m_channelID [N_CELLS]
 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_CELLS = N_SIDE * N_PHI * N_ETA
static const int N_DIST = N_SIDE * N_ETA

Detailed Description

Definition at line 36 of file MinBiasScintillatorSD.h.

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 63 of file MinBiasScintillatorSD.h.

63 {
64 return (side * N_PHI + phi) * N_ETA + eta;
65 }
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 106 of file MinBiasScintillatorSD.h.

106 {
107 unsigned int i = 0;
108 double delta = m_deltaTvec[i++];
109 while (i < m_deltaTvec.size()) {
110 if (time > m_deltaTvec[i++] && time < m_deltaTvec[i++]) break;
111 delta = m_deltaTvec[i++];
112 }
113 return delta;
114 }
std::vector< double > m_deltaTvec

◆ dist_index()

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

Definition at line 66 of file MinBiasScintillatorSD.h.

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

◆ EndOfAthenaEvent()

void MinBiasScintillatorSD::EndOfAthenaEvent ( )

◆ Initialize()

virtual void MinBiasScintillatorSD::Initialize ( G4HCofThisEvent * )
finaloverridevirtual

◆ ProcessHits()

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

Member Data Documentation

◆ m_channelID

Identifier MinBiasScintillatorSD::m_channelID[N_CELLS]
private

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

Definition at line 82 of file MinBiasScintillatorSD.h.

◆ m_deltaT

double MinBiasScintillatorSD::m_deltaT
private

granularity in time for hits

Definition at line 86 of file MinBiasScintillatorSD.h.

◆ m_deltaT_cell

double MinBiasScintillatorSD::m_deltaT_cell[N_DIST]
private

Definition at line 98 of file MinBiasScintillatorSD.h.

◆ m_deltaTvec

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

Definition at line 87 of file MinBiasScintillatorSD.h.

◆ m_HitColl

SG::WriteHandle<TileHitVector> MinBiasScintillatorSD::m_HitColl
private

Definition at line 53 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 96 of file MinBiasScintillatorSD.h.

◆ m_numberOfHitsInCell

std::vector<int> MinBiasScintillatorSD::m_numberOfHitsInCell
private

number of contributions to the energy in each cell (size=nCell).

Definition at line 73 of file MinBiasScintillatorSD.h.

◆ m_options

const MinBiasScintSDOptions MinBiasScintillatorSD::m_options
private

Definition at line 50 of file MinBiasScintillatorSD.h.

◆ m_tempSimHit

std::vector<TileSimHit*> MinBiasScintillatorSD::m_tempSimHit
private

local temporary TileSimHit for each cell (size=nCell).

Definition at line 77 of file MinBiasScintillatorSD.h.

◆ m_tileTBID

const TileTBID* MinBiasScintillatorSD::m_tileTBID
private

Definition at line 55 of file MinBiasScintillatorSD.h.

◆ m_timeCut

double MinBiasScintillatorSD::m_timeCut
private

max allowed time for hits

Definition at line 91 of file MinBiasScintillatorSD.h.

◆ N_CELLS

const int MinBiasScintillatorSD::N_CELLS = N_SIDE * N_PHI * N_ETA
staticprivate

Definition at line 60 of file MinBiasScintillatorSD.h.

◆ N_DIST

const int MinBiasScintillatorSD::N_DIST = N_SIDE * N_ETA
staticprivate

Definition at line 61 of file MinBiasScintillatorSD.h.

◆ N_ETA

const int MinBiasScintillatorSD::N_ETA = 2
staticprivate

Definition at line 59 of file MinBiasScintillatorSD.h.

◆ N_PHI

const int MinBiasScintillatorSD::N_PHI = 8
staticprivate

Definition at line 58 of file MinBiasScintillatorSD.h.

◆ N_SIDE

const int MinBiasScintillatorSD::N_SIDE = 2
staticprivate

Definition at line 57 of file MinBiasScintillatorSD.h.


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