1 #if !defined( AMPLITUDEMANAGER ) 2 #define AMPLITUDEMANAGER 56 #ifdef GPU_ACCELERATION 58 #endif //GPU_ACCELERATION 103 const string& reactionName =
"");
121 unsigned int maxFactorStoragePerEvent()
const;
129 unsigned int termStoragePerEvent()
const;
145 bool calcTerms(
AmpVecs& ampVecs )
const;
161 double calcIntensities(
AmpVecs& ampVecs )
const;
176 double calcSumLogIntensity(
AmpVecs& ampVecs )
const;
203 void calcIntegrals(
AmpVecs& ampVecs,
int iNGenEvents )
const;
218 const vector< vector< int > >& getPermutations(
const string& name )
const;
230 const vector< const Amplitude* >& getFactors(
const string& name )
const;
241 bool hasTermWithFreeParam()
const;
291 void addAmpFactor(
const string& ampName,
const string& factorName,
292 const vector< string >& args,
const string& sum =
"",
293 const string& scale =
"1.0" );
317 void addAmpPermutation(
const string& ampName,
const vector< int >& permutation );
335 void registerAmplitudeFactor(
const Amplitude& defaultAmplitude );
358 void setParPtr(
const string& termName,
const string& parName,
359 const double* ampParPtr );
381 void setParValue(
const string& termName,
const string& parName,
382 double ampParValue );
389 void updatePar(
const string& parName )
const;
409 void generateSymmetricCombos(
const vector< pair< int, int > >& prevSwaps,
410 vector< vector< pair< int, int > > > remainingSwaps,
411 const vector< int >& defaultOrder );
414 map< string, vector< const Amplitude* > > m_mapNameToAmps;
418 map< string, vector< vector< int > > > m_ampPermutations;
422 vector< vector< int > > m_symmCombos;
426 bool m_symmetrizeCalled;
429 map< string, Amplitude* > m_registeredFactors;
432 vector< string > m_ampSum;
435 vector< vector< bool > > m_sumCoherently;
438 vector< bool > m_vbIsAmpFixed;
441 bool m_optimizeParIteration;
442 mutable map< const Amplitude*, int > m_ampIteration;
443 mutable map< AmpVecs*, map< const Amplitude*, int > > m_dataAmpIteration;
void setOptimizeParIteration(bool flag)