Skip to content
Snippets Groups Projects
Forked from faser / calypso
779 commits behind the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
WaveformDigitisationTool.h 1.04 KiB
/*
   Copyright (C) 2021 CERN for the benefit of the FASER collaboration
*/

/** @file WaveformDigitisationTool.h
 *  Header file for WaveformDigitisationTool.h
 *
 */
#ifndef WAVEDIGITOOLS_WAVEFORMDIGITISATIONTOOL_H
#define WAVEDIGITOOLS_WAVEFORMDIGITISATIONTOOL_H

//Athena
#include "AthenaBaseComps/AthAlgTool.h"
#include "WaveDigiTools/IWaveformDigitisationTool.h"

//Gaudi
#include "GaudiKernel/ToolHandle.h"

//STL

class WaveformDigitisationTool: public extends<AthAlgTool, IWaveformDigitisationTool> {
 public:

  /// Normal constructor for an AlgTool; 'properties' are also declared here
 WaveformDigitisationTool(const std::string& type, 
			  const std::string& name, const IInterface* parent);

  /// Retrieve the necessary services in initialize
  StatusCode initialize();

  /// Evaluate time kernel over samples  
  std::vector<float> evaluate_timekernel(TF1* kernel) const;

  /// Generate random baseline 
  unsigned int generate_baseline(int mean, int rms) const;


 private:
  // None

};

#endif // WAVEDIGITOOLS_WAVEFORMDIGITISATIONTOOL_H