StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
StarGenerator
EvtGen1_06_00
EvtGenBase
EvtAmpPdf.hh
1
/*******************************************************************************
2
* Project: BaBar detector at the SLAC PEP-II B-factory
3
* Package: EvtGenBase
4
* File: $Id: EvtAmpPdf.hh,v 1.1 2016/09/23 18:37:29 jwebb Exp $
5
* Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002
6
*
7
* Copyright (C) 2002 Caltech
8
*******************************************************************************/
9
10
#ifndef EVT_AMP_PDF_HH
11
#define EVT_AMP_PDF_HH
12
13
#include "EvtGenBase/EvtMacros.hh"
14
#include "EvtGenBase/EvtAmplitude.hh"
15
#include "EvtGenBase/EvtPdf.hh"
16
17
template
<
class
T>
18
19
class
EvtAmpPdf
:
public
EvtPdf
<T> {
20
public
:
21
22
EvtAmpPdf
() {}
23
EvtAmpPdf
(
const
EvtAmplitude<T>
& amp) :
EvtPdf<T>
(), _amp(amp.clone()) {}
24
EvtAmpPdf
(
const
EvtAmpPdf<T>
& other) :
EvtPdf<T>
(other), COPY_PTR(_amp) {}
25
virtual
~
EvtAmpPdf
() {
delete
_amp; }
26
27
virtual
EvtAmpPdf<T>
* clone()
const
{
return
new
EvtAmpPdf
(*
this
); }
28
29
virtual
double
pdf(
const
T& p)
const
30
{
31
EvtComplex
amp = _amp->evaluate(p);
32
return
real(amp)*real(amp) + imag(amp)*imag(amp);
33
}
34
35
private
:
36
37
EvtAmplitude<T>
* _amp;
38
};
39
40
#endif
41
EvtAmpPdf
Definition:
EvtAmpPdf.hh:19
EvtAmplitude
Definition:
EvtAmplitude.hh:18
EvtPdf
Definition:
EvtPdf.hh:57
EvtComplex
Definition:
EvtComplex.hh:28
Generated by
1.8.5