List of all members | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | Friends
mdet::Pixel::SPE Class Reference

SPE pulse. More...

#include "mdet/Pixel."

Public Member Functions

const std::complex< double > e (rp, ip)
 
double GetAmplitude () const
 
double GetMu () const
 
double GetSigma () const
 
double LowerLimit () const
 Returns the lower temporal limit. More...
 
return kOverallSign *fAmplitudestd::exp (-0.5 *utl::Sqr(x))
 

Public Attributes

double const
 Evaluates the pulse in the time-space. More...
 
std::complex< double > const
 Evaluates the fourier-transformed pulse in the frequency-space. More...
 
const double ip = -1 * fMu * f
 
 rp = utl::Sqr(fSigma) / 2 * ( utl::Sqr(fMu) / (utl::Sqr(fSigma) * utl::Sqr(fSigma)) - utl::Sqr(f) )
 
return kOverallSign
*fAmplitude *std::sqrt(2
*utl::kPi)*fSigma *std doubl 
UpperLimit )() const
 Returns the (for all practical purposes) upper temporal limit of the pulse. More...
 

Private Member Functions

 SPE (const Pixel &p, const double a, const double m, const double s)
 Construct with the parameters. More...
 

Private Attributes

double fAmplitude = 0
 
double fMu = 0
 
const PixelfPixel
 
double fSigma = 0
 

Static Private Attributes

static const int kOverallSign = -1
 Overall sign of the pulses. More...
 

Friends

class Pixel
 

Detailed Description

SPE pulse.

This class represents the Single-Photo-Electron current pulses that are generated on each pixel. The analytical form used so far is a Gaussian pulse, nevertheless that behavior is encapsulated in this class and it's not intended that fact to be explictly used by client code.

The classes used to perform FFT in Offline (a C++ adaptation of fftw) uses the following convention

\[ Y_k = \sum_{j=0}^{n-1} X_j \exp(-2\pi j k \sqrt{-1} / n) \]

With this convention the transformation of a Gaussian pulse like

\[ \exp(-\alpha x^2) \]

is

\[ \sqrt{\frac{\pi}{\alpha}} \exp(-\frac{(\pi \xi)^2}{\alpha}) \]

An off-centered Gaussian pulse like

\[ A \exp(- \frac{1}{2} (\frac{t-\mu}{\sigma})^2) \]

gets transformed to the k-space

\[ A \sqrt{2\pi} \sigma \exp(-\frac{\mu^2}{2\sigma^2} - \mu k i + (\frac{\mu^2}{\sigma^4}-k^2) \frac{\sigma^2}{2}) \]

Definition at line 98 of file MDetector/Pixel.h.

Constructor & Destructor Documentation

mdet::Pixel::SPE::SPE ( const Pixel p,
const double  a,
const double  m,
const double  s 
)
inlineprivate

Construct with the parameters.

Private constructor from scratch.

Definition at line 161 of file MDetector/Pixel.h.

Member Function Documentation

const std::complex<double> mdet::Pixel::SPE::e ( rp  ,
ip   
)
double mdet::Pixel::SPE::GetAmplitude ( ) const
inline
double mdet::Pixel::SPE::GetMu ( ) const
inline
double mdet::Pixel::SPE::GetSigma ( ) const
inline
double mdet::Pixel::SPE::LowerLimit ( ) const
inline

Returns the lower temporal limit.

See Also
UpperLimit.

Definition at line 134 of file MDetector/Pixel.h.

References fMu, fPixel, fSigma, and mdet::Pixel::GetPulseRelevantWidth().

return kOverallSign* fAmplitude* mdet::Pixel::SPE::std::exp ( -0.5 *utl::  Sqrx)

Friends And Related Function Documentation

friend class Pixel
friend

Definition at line 170 of file MDetector/Pixel.h.

Member Data Documentation

double mdet::Pixel::SPE::const
Initial value:
{
const double x = (t - fMu) / fSigma

Evaluates the pulse in the time-space.

Definition at line 104 of file MDetector/Pixel.h.

std::complex<double> mdet::Pixel::SPE::const
Initial value:
{
double rp = -1 * utl::Sqr(fMu) / (2 * utl::Sqr(fSigma))

Evaluates the fourier-transformed pulse in the frequency-space.

Definition at line 118 of file MDetector/Pixel.h.

double mdet::Pixel::SPE::fAmplitude = 0
private

Definition at line 165 of file MDetector/Pixel.h.

Referenced by GetAmplitude().

double mdet::Pixel::SPE::fMu = 0
private

Definition at line 166 of file MDetector/Pixel.h.

Referenced by GetMu(), and LowerLimit().

const Pixel& mdet::Pixel::SPE::fPixel
private

Definition at line 164 of file MDetector/Pixel.h.

Referenced by LowerLimit().

double mdet::Pixel::SPE::fSigma = 0
private

Definition at line 167 of file MDetector/Pixel.h.

Referenced by GetSigma(), and LowerLimit().

const double mdet::Pixel::SPE::ip = -1 * fMu * f

Definition at line 121 of file MDetector/Pixel.h.

const int mdet::Pixel::SPE::kOverallSign = -1
staticprivate

Overall sign of the pulses.

From the PMT the pulses come out as negative current peaks.

Then the front-end channels may invert them as working in an inverting amplifier configuration.

See Also
Channel::ComputeTransfer

Definition at line 154 of file MDetector/Pixel.h.

mdet::Pixel::SPE::rp = utl::Sqr(fSigma) / 2 * ( utl::Sqr(fMu) / (utl::Sqr(fSigma) * utl::Sqr(fSigma)) - utl::Sqr(f) )

Definition at line 120 of file MDetector/Pixel.h.

return kOverallSign* fAmplitude* std::sqrt (2 * utl::kPi) * fSigma * std doubl mdet::Pixel::SPE::UpperLimit)() const
inline

Returns the (for all practical purposes) upper temporal limit of the pulse.

Definition at line 127 of file MDetector/Pixel.h.


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

, generated on Tue Sep 26 2023.