ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
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 ()
 
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 More...
 

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). More...
 
std::vector< TileSimHit * > m_tempSimHit
 local temporary TileSimHit for each cell (size=nCell). More...
 
Identifier m_channelID [N_CELLS]
 array to cache look-ups of Identifiers for each cell (size=nCell). More...
 
double m_deltaT
 granularity in time for hits More...
 
std::vector< double > m_deltaTvec
 
double m_timeCut
 max allowed time for hits More...
 
double m_lateHitTime
 time for hits which are above m_timeCut threshold it is equal to m_tilesize_deltaT - m_deltaT More...
 
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 ( )

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  }

◆ 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  }

◆ 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:
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
MinBiasScintillatorSD::N_PHI
static const int N_PHI
Definition: MinBiasScintillatorSD.h:58
TRT::Hit::side
@ side
Definition: HitInfo.h:83
lumiFormat.i
int i
Definition: lumiFormat.py:92
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
MinBiasScintillatorSD::m_deltaTvec
std::vector< double > m_deltaTvec
Definition: MinBiasScintillatorSD.h:87
MinBiasScintillatorSD::N_ETA
static const int N_ETA
Definition: MinBiasScintillatorSD.h:59