PandaRoot
PndEmcCRRCPulseshape.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //-----------------------------------------------------------
14 // File and Version Information:
15 // $Id$
16 //
17 // Description:
18 // Pulseshape from an CRRC-Shaper
19 // Author List:
20 // Sebastian Neubert TUM (original author)
21 //
22 //-----------------------------------------------------------
23 //#pragma once
24 #ifndef PNDEMCCRRCPULSESHAPE_H
25 #define PNDEMCCRRCPULSESHAPE_H
26 
27 // Base Class Headers ----------------
28 #include "PndEmcAbsPulseshape.h"
29 
30 // Collaborating Class Headers -------
31 //#include <ostream>
32 
38  public:
39  // Constructors/Destructors ---------
41  PndEmcCRRCPulseshape(double Tint, double Tdif, double Tsig);
42  virtual ~PndEmcCRRCPulseshape() { ; }
43 
44  // Operators
45 
46  // Accessors -----------------------
47 
48  // Modifiers -----------------------
49 
50  // Operations ----------------------
51  virtual double operator()(const double t, const double amp, const double toffset) const;
52 
53  private:
54  // Private Data Members ------------
55  double fTint;
56  double fTdif;
57  double fTsig;
58 
59  // Private Methods -----------------
60 
61  double general_solution(const double t, const double amp, const double toffset) const;
62  double degenerate_solution(const double t, // for Tdif=Tint
63  const double amp, const double toffset) const;
64 
65  ClassDef(PndEmcCRRCPulseshape, 1)
66 };
67 
68 #endif
virtual double operator()(const double t, const double amp, const double toffset) const
Pulseshape from an CRRC-Shaper.
pulseshape interface