Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
Loading...
Searching...
No Matches
Garfield::Shaper Class Reference

Class for signal processing. More...

#include <Shaper.hh>

Public Member Functions

 Shaper ()=delete
 Default constructor.
 Shaper (const unsigned int n, const double tau, const double g, std::string shaperType)
 Constructor.
 ~Shaper ()
 Destructor.
double Shape (const double t) const
 Evaluate the transfer function.
double UnipolarShaper (const double t) const
 Transfer function for a unipolar shaper.
double BipolarShaper (const double t) const
 Transfer function for a bipolar shaper.
double PeakingTime () const
 Time for the transfer function to rise from zero to peak height.
double TransferFuncSq () const
 Return the integral of the transfer function squared.
bool IsUnipolar () const
 Is it a unipolar shaper?
bool IsBipolar () const
 Is it a bipolar shaper?
void GetParameters (unsigned int &n, double &tp)
 Retrieve the parameters.

Private Types

enum class  ShaperType { Unipolar = 0 , Bipolar }

Private Attributes

std::string m_className = "Shaper"
ShaperType m_type = ShaperType::Unipolar
unsigned int m_n = 1
double m_tau = 1.
double m_tp = 1.
double m_prefactor = 1.
double m_g = 1.
double m_transfer_func_sq = -1.

Detailed Description

Class for signal processing.

Definition at line 10 of file Shaper.hh.

Member Enumeration Documentation

◆ ShaperType

enum class Garfield::Shaper::ShaperType
strongprivate
Enumerator
Unipolar 
Bipolar 

Definition at line 46 of file Shaper.hh.

46{ Unipolar = 0, Bipolar };

Constructor & Destructor Documentation

◆ Shaper() [1/2]

Garfield::Shaper::Shaper ( )
delete

Default constructor.

◆ Shaper() [2/2]

Garfield::Shaper::Shaper ( const unsigned int n,
const double tau,
const double g,
std::string shaperType )

Constructor.

◆ ~Shaper()

Garfield::Shaper::~Shaper ( )
inline

Destructor.

Definition at line 18 of file Shaper.hh.

18{}

Member Function Documentation

◆ BipolarShaper()

double Garfield::Shaper::BipolarShaper ( const double t) const

Transfer function for a bipolar shaper.

◆ GetParameters()

void Garfield::Shaper::GetParameters ( unsigned int & n,
double & tp )
inline

Retrieve the parameters.

Definition at line 37 of file Shaper.hh.

37 {
38 n = m_n;
39 tp = m_tp;
40 }
unsigned int m_n
Definition Shaper.hh:49

◆ IsBipolar()

bool Garfield::Shaper::IsBipolar ( ) const
inline

Is it a bipolar shaper?

Definition at line 35 of file Shaper.hh.

◆ IsUnipolar()

bool Garfield::Shaper::IsUnipolar ( ) const
inline

Is it a unipolar shaper?

Definition at line 33 of file Shaper.hh.

◆ PeakingTime()

double Garfield::Shaper::PeakingTime ( ) const
inline

Time for the transfer function to rise from zero to peak height.

Definition at line 27 of file Shaper.hh.

27{ return m_tp; }

◆ Shape()

double Garfield::Shaper::Shape ( const double t) const

Evaluate the transfer function.

◆ TransferFuncSq()

double Garfield::Shaper::TransferFuncSq ( ) const
inline

Return the integral of the transfer function squared.

Definition at line 30 of file Shaper.hh.

30{ return m_transfer_func_sq; }
double m_transfer_func_sq
Definition Shaper.hh:59

◆ UnipolarShaper()

double Garfield::Shaper::UnipolarShaper ( const double t) const

Transfer function for a unipolar shaper.

Member Data Documentation

◆ m_className

std::string Garfield::Shaper::m_className = "Shaper"
private

Definition at line 43 of file Shaper.hh.

◆ m_g

double Garfield::Shaper::m_g = 1.
private

Definition at line 57 of file Shaper.hh.

◆ m_n

unsigned int Garfield::Shaper::m_n = 1
private

Definition at line 49 of file Shaper.hh.

◆ m_prefactor

double Garfield::Shaper::m_prefactor = 1.
private

Definition at line 55 of file Shaper.hh.

◆ m_tau

double Garfield::Shaper::m_tau = 1.
private

Definition at line 51 of file Shaper.hh.

◆ m_tp

double Garfield::Shaper::m_tp = 1.
private

Definition at line 53 of file Shaper.hh.

◆ m_transfer_func_sq

double Garfield::Shaper::m_transfer_func_sq = -1.
private

Definition at line 59 of file Shaper.hh.

◆ m_type

ShaperType Garfield::Shaper::m_type = ShaperType::Unipolar
private

Definition at line 47 of file Shaper.hh.


The documentation for this class was generated from the following file:
  • /builds/garfield/docs/source/Include/Garfield/Shaper.hh