PandaRoot
PndEmcAsicPulseshape.h
Go to the documentation of this file.
1 //-----------------------------------------------------------
2 // Description:
3 // Pulseshape from an APFEL ASIC preamplifier shaper
4 // Circuit is described in EMC TDR and consists of charge-sensitive preamplifier,
5 // with the following pole-zero cancelation of its feedback ad 3rd order integrator.
6 // The pulseshape is determined by the integration time of single intagrator stage
7 // and scintillation time of the crystal, with exponential input convoluted with
8 // response of the circuit
9 //
10 //-----------------------------------------------------------
11 //#pragma once
12 #ifndef PNDEMCASICPULSESHAPE_H
13 #define PNDEMCASICPULSESHAPE_H
14 
15 // Base Class Headers ----------------
16 #include "PndEmcAbsPulseshape.h"
17 
18 // Collaborating Class Headers -------
19 //#include <ostream>
20 
32  public:
33  // Constructors/Destructors ---------
35  PndEmcAsicPulseshape(double Tint, double Tsig);
36  virtual ~PndEmcAsicPulseshape() { ; }
37 
38  // Operators
39 
40  // Accessors -----------------------
41 
42  // Modifiers -----------------------
43 
44  // Operations ----------------------
45  virtual double operator()(const double t, const double amp, const double toffset) const;
46 
47  private:
48  // Private Data Members ------------
49  double fTint;
50  double fTsig;
51 
52  // Private Methods -----------------
53 
54  double general_solution(const double t, const double amp, const double toffset) const;
55  double degenerate_solution(const double t, // for Tdif=Tint
56  const double amp, const double toffset) const;
57 
58  ClassDef(PndEmcAsicPulseshape, 1)
59 };
60 
61 #endif
virtual double operator()(const double t, const double amp, const double toffset) const
Pulseshape from an APFEL ASIC preamplifier shaper.
pulseshape interface