PandaRoot
BSEmcLUTBasedPulseshape.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 #ifndef BSEMCLUTBASEDPULSESHAPE_HH
14 #define BSEMCLUTBASEDPULSESHAPE_HH
15 
16 #include <vector>
17 
18 #include "BSEmcAbsPulseshape.h"
19 
29 
30  public:
33 
34  virtual Double_t operator()(const Double_t t_time, const Double_t t_amp, const Double_t t_timeOffset) const;
35  void SetLUTFile(const std::string &t_lutfile)
36  {
37  fLUTFileName = t_lutfile;
38  ReadLUT(fLUTFileName);
39  }
40 
41  UInt_t GetWaveformLength() const { return fLUT.size(); }
42 
43  private:
44  void ReadLUT(const std::string &t_lutfile);
45 
46  std::vector<Double_t> fLUT{};
47  std::string fLUTFileName{};
48  ClassDef(BSEmcLUTBasedPulseshape, 1)
49 };
50 
51 #endif /*BSEMCLUTBASEDPULSESHAPE_HH*/
virtual Double_t operator()(const Double_t t_time, const Double_t t_amp, const Double_t t_timeOffset) const
Look-Up-Table based Pulseshape.
pulseshape interface
void SetLUTFile(const std::string &t_lutfile)