LDMX Software
tracking::digitization::CRRCShape Class Reference

Single CR·RC shaper. More...

#include <PulseShape.h>

Public Member Functions

 CRRCShape (double tp)
 
double eval (double t) const override
 Evaluate the peak-normalised pulse amplitude at time t [ns] after charge arrival.
 
- Public Member Functions inherited from tracking::digitization::PulseShape

Private Attributes

double tp_
 

Additional Inherited Members

- Static Public Member Functions inherited from tracking::digitization::PulseShape
static std::unique_ptr< PulseShapemake (const std::string &name, double tp, double tp2=0.0)
 Factory: construct a pulse shape by name.
 

Detailed Description

Single CR·RC shaper.

f(t) = (t/tp) · exp(1 − t/tp) for t ≥ 0, else 0

Peaks at t = tp with f(tp) = 1.

Parameters
tpPeaking time [ns].

Definition at line 64 of file PulseShape.h.

Constructor & Destructor Documentation

◆ CRRCShape()

tracking::digitization::CRRCShape::CRRCShape ( double tp)
inlineexplicit

Definition at line 66 of file PulseShape.h.

66: tp_(tp) {}

Member Function Documentation

◆ eval()

double tracking::digitization::CRRCShape::eval ( double t) const
inlineoverridevirtual

Evaluate the peak-normalised pulse amplitude at time t [ns] after charge arrival.

Returns 0 for t < 0.

Implements tracking::digitization::PulseShape.

Definition at line 68 of file PulseShape.h.

68 {
69 if (t <= 0.0) return 0.0;
70 return (t / tp_) * std::exp(1.0 - t / tp_);
71 }

Member Data Documentation

◆ tp_

double tracking::digitization::CRRCShape::tp_
private

Definition at line 74 of file PulseShape.h.


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