|
|
|||
File indexing completed on 2026-08-06 09:20:01
0001 0002 /*********************************************************************** 0003 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors * 0004 * * 0005 * This file is part of EvtGen. * 0006 * * 0007 * EvtGen is free software: you can redistribute it and/or modify * 0008 * it under the terms of the GNU General Public License as published by * 0009 * the Free Software Foundation, either version 3 of the License, or * 0010 * (at your option) any later version. * 0011 * * 0012 * EvtGen is distributed in the hope that it will be useful, * 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 0015 * GNU General Public License for more details. * 0016 * * 0017 * You should have received a copy of the GNU General Public License * 0018 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. * 0019 ***********************************************************************/ 0020 0021 #ifndef EVT_AMP_PDF_HH 0022 #define EVT_AMP_PDF_HH 0023 0024 #include "EvtGenBase/EvtAmplitude.hh" 0025 #include "EvtGenBase/EvtMacros.hh" 0026 #include "EvtGenBase/EvtPdf.hh" 0027 0028 template <class T> 0029 0030 class EvtAmpPdf : public EvtPdf<T> { 0031 public: 0032 EvtAmpPdf() {} 0033 EvtAmpPdf( const EvtAmplitude<T>& amp ) : EvtPdf<T>(), _amp( amp.clone() ) 0034 { 0035 } 0036 EvtAmpPdf( const EvtAmpPdf<T>& other ) : 0037 EvtPdf<T>( other ), COPY_PTR( _amp ) 0038 { 0039 } 0040 virtual ~EvtAmpPdf() { delete _amp; } 0041 0042 EvtAmpPdf<T>* clone() const override { return new EvtAmpPdf( *this ); } 0043 0044 double pdf( const T& p ) const override 0045 { 0046 EvtComplex amp = _amp->evaluate( p ); 0047 return real( amp ) * real( amp ) + imag( amp ) * imag( amp ); 0048 } 0049 0050 private: 0051 EvtAmplitude<T>* _amp; 0052 }; 0053 0054 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|