Belle II Software development
TOPSignalShape Class Reference

Normalized shape of single photon pulse (waveform) Pulse must be positive. More...

#include <TOPSignalShape.h>

Inheritance diagram for TOPSignalShape:

Public Member Functions

 TOPSignalShape ()
 Default constructor.
 
 TOPSignalShape (std::vector< double > shape, double timeBin, double tau, double pole1, double pole2)
 Full constructor.
 
 TOPSignalShape (const TOPSignalShape &shape)
 Copy constructor.
 
TOPSignalShapeoperator= (const TOPSignalShape &shape)
 Assignment operator.
 
 ~TOPSignalShape ()
 Destructor.
 
double getValue (double t) const
 Returns value at time t of the normalized waveform using interpolator.
 
double getTMin () const
 Returns time of the first waveform sample.
 
double getTMax () const
 Returns time of the last waveform sample.
 
double getPeakingTime () const
 Returns peaking time of the signal.
 
double getTau () const
 Returns time constant of the exponential used for the extrapolation of tail.
 
double getPole1 () const
 Returns first pole of noise bandwidth.
 
double getPole2 () const
 Returns second pole of noise bandwidth.
 
const std::vector< double > & getShape () const
 Returns waveform values.
 
const TSpline5 * getInterpolator () const
 Returns interpolator.
 

Private Member Functions

 ClassDef (TOPSignalShape, 1)
 do not write out
 

Private Attributes

std::vector< double > m_shape
 waveform values
 
double m_tmin = 0
 time of the first waveform sample [ns]
 
double m_tmax = 0
 time of the last waveform sample [ns]
 
double m_tau = 0
 time constant of the exponential tail [ns]
 
double m_pole1 = 0
 noise bandwidth: first pole [GHz]
 
double m_pole2 = 0
 noise bandwidth: second pole [GHz]
 
TSpline5 * m_interpolator = 0
 cache for the interpolator
 
double m_peakTime = 0
 do not write out
 

Detailed Description

Normalized shape of single photon pulse (waveform) Pulse must be positive.

Definition at line 25 of file TOPSignalShape.h.

Constructor & Destructor Documentation

◆ TOPSignalShape() [1/2]

TOPSignalShape ( )
inline

Default constructor.

Definition at line 31 of file TOPSignalShape.h.

32 {}

◆ TOPSignalShape() [2/2]

TOPSignalShape ( const TOPSignalShape shape)
inline

Copy constructor.

Definition at line 48 of file TOPSignalShape.h.

48 : TObject()
49 {
50 *this = shape;
52 }
TSpline5 * m_interpolator
cache for the interpolator

◆ ~TOPSignalShape()

~TOPSignalShape ( )
inline

Destructor.

Definition at line 75 of file TOPSignalShape.h.

76 {
78 }

Member Function Documentation

◆ ClassDef()

ClassDef ( TOPSignalShape  ,
 
)
private

do not write out

ClassDef

◆ getInterpolator()

const TSpline5 * getInterpolator ( ) const
inline

Returns interpolator.

Returns
interpolator

Definition at line 133 of file TOPSignalShape.h.

133{return m_interpolator;}

◆ getPole1()

double getPole1 ( ) const
inline

Returns first pole of noise bandwidth.

Returns
first pole [GHz]

Definition at line 115 of file TOPSignalShape.h.

115{return m_pole1;}
double m_pole1
noise bandwidth: first pole [GHz]

◆ getPole2()

double getPole2 ( ) const
inline

Returns second pole of noise bandwidth.

Returns
second pole [GHz]

Definition at line 121 of file TOPSignalShape.h.

121{return m_pole2;}
double m_pole2
noise bandwidth: second pole [GHz]

◆ getShape()

const std::vector< double > & getShape ( ) const
inline

Returns waveform values.

Returns
vector of normalized values

Definition at line 127 of file TOPSignalShape.h.

127{return m_shape;}
std::vector< double > m_shape
waveform values

◆ getTau()

double getTau ( ) const
inline

Returns time constant of the exponential used for the extrapolation of tail.

Returns
time constant [ns]

Definition at line 109 of file TOPSignalShape.h.

109{return m_tau;}
double m_tau
time constant of the exponential tail [ns]

◆ getTMax()

double getTMax ( ) const
inline

Returns time of the last waveform sample.

Returns
time [ns]

Definition at line 97 of file TOPSignalShape.h.

97{return m_tmax;}
double m_tmax
time of the last waveform sample [ns]

◆ getTMin()

double getTMin ( ) const
inline

Returns time of the first waveform sample.

Returns
time [ns]

Definition at line 91 of file TOPSignalShape.h.

91{return m_tmin;}
double m_tmin
time of the first waveform sample [ns]

◆ operator=()

TOPSignalShape & operator= ( const TOPSignalShape shape)
inline

Assignment operator.

Definition at line 57 of file TOPSignalShape.h.

58 {
59 if (this != &shape) {
60 m_shape = shape.getShape();
61 m_tmin = shape.getTMin();
62 m_tmax = shape.getTMax();
63 m_tau = shape.getTau();
64 m_pole1 = shape.getPole1();
65 m_pole2 = shape.getPole2();
68 }
69 return *this;
70 }

Member Data Documentation

◆ m_interpolator

TSpline5* m_interpolator = 0
mutableprivate

cache for the interpolator

Definition at line 145 of file TOPSignalShape.h.

◆ m_peakTime

double m_peakTime = 0
mutableprivate

do not write out

cache for peaking time

Definition at line 148 of file TOPSignalShape.h.

◆ m_pole1

double m_pole1 = 0
private

noise bandwidth: first pole [GHz]

Definition at line 141 of file TOPSignalShape.h.

◆ m_pole2

double m_pole2 = 0
private

noise bandwidth: second pole [GHz]

Definition at line 142 of file TOPSignalShape.h.

◆ m_shape

std::vector<double> m_shape
private

waveform values

Definition at line 137 of file TOPSignalShape.h.

◆ m_tau

double m_tau = 0
private

time constant of the exponential tail [ns]

Definition at line 140 of file TOPSignalShape.h.

◆ m_tmax

double m_tmax = 0
private

time of the last waveform sample [ns]

Definition at line 139 of file TOPSignalShape.h.

◆ m_tmin

double m_tmin = 0
private

time of the first waveform sample [ns]

Definition at line 138 of file TOPSignalShape.h.


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