ATLAS Offline Software
Loading...
Searching...
No Matches
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.
virtual StatusCode initialize () override
 AlgTool initialize.
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.
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
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}
virtual float response(const list_t &Charges, const float timeOverThreshold) const override

◆ initialize()

StatusCode ITkStripAmp::initialize ( )
overridevirtual

AlgTool initialize.

Definition at line 17 of file ITkStripAmp.cxx.

17 {
18 StatusCode sc{AthAlgTool::initialize()};
19 m_PeakTime.setValue(m_PeakTime.value() * Gaudi::Units::ns);
21 return sc;
22}
static Double_t sc
FloatProperty m_PeakTime
signal peak time
Definition ITkStripAmp.h:38
float m_NormConstCentral
Definition ITkStripAmp.h:39
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ 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}
double charge(const T &p)
Definition AtlasPID.h:997
time(flags, cells_name, *args, **kw)

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

39{0.};

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

38{this, "PeakTime", 25., "Front End Electronics peaking time"};

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