Hammer  1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FFPCRBase.hh
Go to the documentation of this file.
1 ///
2 /// @file FFPCRBase.hh
3 /// @brief Hammer base class for PCR form factors
4 ///
5 
6 //**** This file is a part of the HAMMER library
7 //**** Copyright (C) 2016 - 2020 The HAMMER Collaboration
8 //**** HAMMER is licensed under version 3 of the GPL; see COPYING for details
9 //**** Please note the MCnet academic guidelines; see GUIDELINES for details
10 
11 // -*- C++ -*-
12 #ifndef HAMMER_FF_PCR_BASE
13 #define HAMMER_FF_PCR_BASE
14 
15 #include "Hammer/FormFactorBase.hh"
16 
17 namespace Hammer {
18 
19  /// @brief Base class for PCR form factors
20  /// See Pervin, Roberst, and Capstick, Phys. Rev. C72, 035201 (2005)
21  /// Implementation matched to EvtGen
22  ///
23  /// @ingroup FormFactors
24  class FFPCRBase : public FormFactorBase {
25 
26  public:
27  FFPCRBase();
28 
29  FFPCRBase(const FFPCRBase& other) = default;
30  FFPCRBase& operator=(const FFPCRBase& other) = delete;
31  FFPCRBase(FFPCRBase&& other) = delete;
32  FFPCRBase& operator=(FFPCRBase&& other) = delete;
33  virtual ~FFPCRBase() = default;
34 
35  protected:
36 
37  /// @brief
38  /// @param[in] point
39  /// @param[in] masses
40  /// @return
41  virtual void evalAtPSPoint(const std::vector<double>& point, const std::vector<double>& masses = {}) = 0;
42 
43  /// @brief
44  virtual void defineSettings() = 0;
45 
46  protected:
47  void addRefs() const;
48  };
49 
50 } // namespace Hammer
51 
52 #endif
void addRefs() const
Definition: FFPCRBase.cc:22
Hammer base form factor class.
Base class for form factors.
virtual ~FFPCRBase()=default
const std::vector< double > & masses() const
returns the particle masses of the current decay signature
Definition: ParticleData.cc:44
virtual void evalAtPSPoint(const std::vector< double > &point, const std::vector< double > &masses={})=0
FFPCRBase & operator=(const FFPCRBase &other)=delete
Base class for PCR form factors See Pervin, Roberst, and Capstick, Phys.
Definition: FFPCRBase.hh:24
virtual void defineSettings()=0
defines new settings for this class