AmpTools
UserAmplitude< T > Class Template Reference

#include <UserAmplitude.h>

Inheritance diagram for UserAmplitude< T >:
Collaboration diagram for UserAmplitude< T >:

Public Member Functions

 UserAmplitude ()
 
 UserAmplitude (const vector< string > &args)
 
virtual ~UserAmplitude ()
 
AmplitudenewAmplitude (const vector< string > &args) const
 
Amplitudeclone () const
 
- Public Member Functions inherited from Amplitude
 Amplitude ()
 
 Amplitude (const vector< string > &args)
 
virtual ~Amplitude ()
 
virtual string name () const =0
 
bool containsFreeParameters () const
 
bool isDefault () const
 
vector< string > arguments () const
 
virtual void init ()
 
bool setParPtr (const string &name, const double *ptr) const
 
bool setParValue (const string &name, double val) const
 
virtual void updatePar (const AmpParameter &par)
 
bool updatePar (const string &name) const
 
virtual void calcAmplitudeAll (GDouble *pdData, GDouble *pdAmps, int iNEvents, const vector< vector< int > > *pvPermutations) const
 
virtual complex< GDoublecalcAmplitude (GDouble **pKin) const =0
 
complex< GDoublecalcAmplitude (const Kinematics *pKin) const
 
complex< GDoublecalcAmplitude (const Kinematics *pKin, const vector< int > &permutation) const
 
virtual void calcAmplitudeGPU (dim3 dimGrid, dim3 dimBlock, GPU_AMP_PROTO, const vector< int > &perm) const
 
virtual void launchGPUKernel (dim3 dimGrid, dim3 dimBlock, GPU_AMP_PROTO) const
 

Additional Inherited Members

- Protected Member Functions inherited from Amplitude
void registerParameter (AmpParameter &par)
 
const vector< int > & getCurrentPermutation () const
 

Detailed Description

template<class T>
class UserAmplitude< T >

This class handles the creation and cloning of the user's amplitudes.

It is intended that the user writes a functional amplitude that inherits from this class (and thus the Amplitude base class through this class) and also defines the necessary virtual member functions.

Definition at line 57 of file UserAmplitude.h.

Constructor & Destructor Documentation

◆ UserAmplitude() [1/2]

template<class T >
UserAmplitude< T >::UserAmplitude ( )
inline

This is the default constructor. It should be called in the default constructor of the user's derived class.

Definition at line 66 of file UserAmplitude.h.

◆ UserAmplitude() [2/2]

template<class T >
UserAmplitude< T >::UserAmplitude ( const vector< string > &  args)
inline

This constructor takes a list of arguments and stores them. There should be a corresponding constructor in the user's derived class that calls this constructor.

Definition at line 74 of file UserAmplitude.h.

◆ ~UserAmplitude()

template<class T >
virtual UserAmplitude< T >::~UserAmplitude ( )
inlinevirtual

This is the destructor.

Definition at line 80 of file UserAmplitude.h.

Member Function Documentation

◆ clone()

template<class T >
Amplitude* UserAmplitude< T >::clone ( ) const
inlinevirtual

This method can create a clone of an amplitude (of the derived type).

Implements Amplitude.

Definition at line 94 of file UserAmplitude.h.

◆ newAmplitude()

template<class T >
Amplitude* UserAmplitude< T >::newAmplitude ( const vector< string > &  args) const
inlinevirtual

This method can create a new amplitude (of the derived type).

Implements Amplitude.

Definition at line 86 of file UserAmplitude.h.


The documentation for this class was generated from the following file: