Changeset View
Changeset View
Standalone View
Standalone View
src/EvtGenBase/EvtAmpIndex.cpp
Show All 20 Lines | |||||
#include "EvtGenBase/EvtAmpIndex.hh" | #include "EvtGenBase/EvtAmpIndex.hh" | ||||
#include "EvtGenBase/EvtPatches.hh" | #include "EvtGenBase/EvtPatches.hh" | ||||
#include <vector> | #include <vector> | ||||
using std::vector; | using std::vector; | ||||
EvtAmpIndex::EvtAmpIndex( std::vector<int> ind ) : | EvtAmpIndex::EvtAmpIndex( std::vector<int> ind ) : | ||||
_ind( ind ), _size( ind.size() ), _state( ind.size() ), _nstate( ind.size() ) | m_ind( ind ), | ||||
m_size( ind.size() ), | |||||
m_state( ind.size() ), | |||||
m_nstate( ind.size() ) | |||||
{ | { | ||||
int i; | int i; | ||||
for ( i = 0; i < _size; i++ ) { | for ( i = 0; i < m_size; i++ ) { | ||||
_state[i] = 0; | m_state[i] = 0; | ||||
if ( i == 0 ) { | if ( i == 0 ) { | ||||
_nstate[i] = 1; | m_nstate[i] = 1; | ||||
} else { | } else { | ||||
_nstate[i] = _nstate[i - 1] * _ind[i]; | m_nstate[i] = m_nstate[i - 1] * m_ind[i]; | ||||
} | } | ||||
} | } | ||||
} | } | ||||
void EvtAmpIndex::reset() | void EvtAmpIndex::reset() | ||||
{ | { | ||||
int i; | int i; | ||||
for ( i = 0; i < _size; i++ ) { | for ( i = 0; i < m_size; i++ ) { | ||||
_state[i] = 0; | m_state[i] = 0; | ||||
} | } | ||||
} | } | ||||
bool EvtAmpIndex::next() | bool EvtAmpIndex::next() | ||||
{ | { | ||||
int i; | int i; | ||||
for ( i = 0; i < _size; i++ ) { | for ( i = 0; i < m_size; i++ ) { | ||||
_state[i]++; | m_state[i]++; | ||||
if ( _state[i] < _ind[i] ) { | if ( m_state[i] < m_ind[i] ) { | ||||
return true; | return true; | ||||
} else { | } else { | ||||
_state[i] = 0; | m_state[i] = 0; | ||||
} | } | ||||
} | } | ||||
return false; | return false; | ||||
} | } | ||||
int EvtAmpIndex::index() | int EvtAmpIndex::index() | ||||
{ | { | ||||
int i; | int i; | ||||
int ind = 0; | int ind = 0; | ||||
for ( i = 0; i < _size; i++ ) { | for ( i = 0; i < m_size; i++ ) { | ||||
ind += _state[i] * _nstate[i]; | ind += m_state[i] * m_nstate[i]; | ||||
} | } | ||||
return ind; | return ind; | ||||
} | } |