1 #if !defined( AMPLITUDE ) 49 #ifdef GPU_ACCELERATION 50 #include "cuda_runtime.h" 51 #include "GPUManager/CUDA-Complex.cuh" 53 #endif //GPU_ACCELERATION 102 Amplitude(
const vector< string >& args ) : m_isDefault(false),
115 virtual string name()
const = 0;
121 bool containsFreeParameters()
const;
136 virtual Amplitude* newAmplitude(
const vector< string >& args )
const = 0;
154 bool isDefault()
const {
return ( m_isDefault ==
true ); }
184 bool setParPtr(
const string& name,
const double* ptr )
const;
199 bool setParValue(
const string& name,
double val )
const;
224 bool updatePar(
const string& name )
const;
256 virtual void calcAmplitudeAll(
GDouble* pdData,
GDouble* pdAmps,
int iNEvents,
257 const vector< vector< int > >* pvPermutations )
const;
270 virtual complex< GDouble > calcAmplitude(
GDouble** pKin )
const = 0;
285 complex< GDouble > calcAmplitude(
const Kinematics* pKin )
const;
303 complex< GDouble > calcAmplitude(
const Kinematics* pKin,
304 const vector < int >& permutation )
const;
307 #ifdef GPU_ACCELERATION 314 virtual void calcAmplitudeGPU( dim3 dimGrid, dim3 dimBlock,
GPU_AMP_PROTO,
315 const vector< int >& perm )
const;
323 cout <<
"\nNo GPU function for calculating " << name() <<
" is defined." << endl;
327 #endif //GPU_ACCELERATION 360 vector<string> m_args;
362 vector< AmpParameter* > m_registeredParams;
364 mutable vector< int > m_currentPermutation;
virtual void launchGPUKernel(dim3 dimGrid, dim3 dimBlock, GPU_AMP_PROTO) const
const vector< int > & getCurrentPermutation() const
Amplitude(const vector< string > &args)
virtual void updatePar(const AmpParameter &par)
vector< string > arguments() const