Changeset View
Changeset View
Standalone View
Standalone View
src/EvtGenBase/EvtAmpSubIndex.cpp
Show All 21 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; | ||||
EvtAmpSubIndex::EvtAmpSubIndex( EvtAmpIndex* ind, std::vector<int> sub ) : | EvtAmpSubIndex::EvtAmpSubIndex( EvtAmpIndex* ind, std::vector<int> sub ) : | ||||
_ind( ind ), _sub( sub ), _size( sub.size() ), _nstate( sub.size() ) | m_ind( ind ), m_sub( sub ), m_size( sub.size() ), m_nstate( sub.size() ) | ||||
{ | { | ||||
int i; | int i; | ||||
for ( i = 0; i < _size; i++ ) { | for ( i = 0; i < m_size; i++ ) { | ||||
if ( i == 0 ) { | if ( i == 0 ) { | ||||
_nstate[i] = 1; | m_nstate[i] = 1; | ||||
} else { | } else { | ||||
_nstate[i] = _nstate[i - 1] * _ind->_ind[sub[i - 1]]; | m_nstate[i] = m_nstate[i - 1] * m_ind->m_ind[sub[i - 1]]; | ||||
} | } | ||||
} | } | ||||
} | } | ||||
int EvtAmpSubIndex::index() | int EvtAmpSubIndex::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 += _ind->_state[_ind->_ind[i]] * _nstate[i]; | ind += m_ind->m_state[m_ind->m_ind[i]] * m_nstate[i]; | ||||
} | } | ||||
return ind; | return ind; | ||||
} | } |