ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
ITkStripAmp Class Reference

Header file for ITkStripAmp Class
Dummy Amplifier for ITkStrips. More...

#include <ITkStripAmp.h>

Inheritance diagram for ITkStripAmp:
Collaboration diagram for ITkStripAmp:

Public Member Functions

virtual ~ITkStripAmp ()=default
 Destructor. More...
 
virtual StatusCode initialize () override
 AlgTool initialize. More...
 
virtual float response (const list_t &Charges, const float timeOverThreshold) const override
 
virtual void response (const list_t &Charges, const float time, std::vector< float > &resp) const override
 
virtual float crosstalk (const list_t &Charges, const float timeOverThreshold) const override
 Neighbour strip cross talk response strip to a list of charges with times. More...
 
virtual void crosstalk (const list_t &Charges, const float timeOverThreshold, std::vector< float > &resp) const override
 

Private Attributes

FloatProperty m_PeakTime {this, "PeakTime", 25., "Front End Electronics peaking time"}
 signal peak time More...
 
float m_NormConstCentral {0.}
 

Detailed Description

Header file for ITkStripAmp Class
Dummy Amplifier for ITkStrips.

Definition at line 19 of file ITkStripAmp.h.

Constructor & Destructor Documentation

◆ ~ITkStripAmp()

virtual ITkStripAmp::~ITkStripAmp ( )
virtualdefault

Destructor.

Member Function Documentation

◆ crosstalk() [1/2]

float ITkStripAmp::crosstalk ( const list_t &  Charges,
const float  timeOverThreshold 
) const
overridevirtual

Neighbour strip cross talk response strip to a list of charges with times.

Definition at line 55 of file ITkStripAmp.cxx.

55  {
56  float resp{1};
57  return resp;
58 }

◆ crosstalk() [2/2]

void ITkStripAmp::crosstalk ( const list_t &  Charges,
const float  timeOverThreshold,
std::vector< float > &  resp 
) const
overridevirtual

Definition at line 60 of file ITkStripAmp.cxx.

60  {
61  std::fill(response.begin(), response.end(), 1.0);
62 }

◆ initialize()

StatusCode ITkStripAmp::initialize ( )
overridevirtual

AlgTool initialize.

Definition at line 17 of file ITkStripAmp.cxx.

17  {
19  m_PeakTime.setValue(m_PeakTime.value() * Gaudi::Units::ns);
20  m_NormConstCentral = 1.0;
21  return sc;
22 }

◆ response() [1/2]

void ITkStripAmp::response ( const list_t &  Charges,
const float  time,
std::vector< float > &  resp 
) const
overridevirtual

Definition at line 32 of file ITkStripAmp.cxx.

32  {
33  auto bin_max{std::ssize(response)};
34  std::fill(response.begin(), response.end(), 0.0);
35  float tp{m_PeakTime/3.0f}; // for CR-RC^3
36  for (const SiCharge& charge: Charges) {
37  float ch{static_cast<float>(charge.charge())};
38  float ch_time{static_cast<float>(charge.time())};
39  auto bin_end{bin_max-1};
40  for (int bin{-1}; bin<bin_end; ++bin) {
41  float bin_time{time + bin*25};//25, fix me
42  float tC{bin_time - ch_time};
43  if (tC > 0.0f) {
44  tC/=tp; //to avoid doing it four times
45  response[bin+1] += ch*tC*tC*tC*std::exp(-tC); //faster than pow
46  }
47  }
48  }
49  for (int bin{0}; bin<bin_max; ++bin) response[bin] = response[bin]*m_NormConstCentral;
50 }

◆ response() [2/2]

float ITkStripAmp::response ( const list_t &  Charges,
const float  timeOverThreshold 
) const
overridevirtual

Definition at line 27 of file ITkStripAmp.cxx.

27  {
28  float resp{1.0f};
29  return resp;
30 }

Member Data Documentation

◆ m_NormConstCentral

float ITkStripAmp::m_NormConstCentral {0.}
private

Definition at line 39 of file ITkStripAmp.h.

◆ m_PeakTime

FloatProperty ITkStripAmp::m_PeakTime {this, "PeakTime", 25., "Front End Electronics peaking time"}
private

signal peak time

Definition at line 38 of file ITkStripAmp.h.


The documentation for this class was generated from the following files:
ITkStripAmp::response
virtual float response(const list_t &Charges, const float timeOverThreshold) const override
Definition: ITkStripAmp.cxx:27
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
ITkStripAmp::m_NormConstCentral
float m_NormConstCentral
Definition: ITkStripAmp.h:39
initialize
void initialize()
Definition: run_EoverP.cxx:894
bin
Definition: BinsDiffFromStripMedian.h:43
ParticleTest.tp
tp
Definition: ParticleTest.py:25
SiCharge
Definition: SiCharge.h:25
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
ITkStripAmp::m_PeakTime
FloatProperty m_PeakTime
signal peak time
Definition: ITkStripAmp.h:38
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
hist_file_dump.f
f
Definition: hist_file_dump.py:140
plotBeamSpotVxVal.bin
int bin
Definition: plotBeamSpotVxVal.py:82
charge
double charge(const T &p)
Definition: AtlasPID.h:986
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
lumiFormat.fill
fill
Definition: lumiFormat.py:104
python.SystemOfUnits.ns
float ns
Definition: SystemOfUnits.py:146