PMNS_NSI.cxx
//......................................................................
///
/// Set any given NSI parameter.
///
/// This will check if value is changing to keep track of whether
/// the eigensystem needs to be recomputed.
///
/// Flavours are:\n
/// - 0 = nue, 1 = numu, 2 = nutau
///
/// Requires that flvi < flvj. Will notify you if input is wrong.
/// If flvi > flvj, will assume reverse order and swap flvi and flvj.
///
/// @param flvi  - The first flavour index 
/// @param flvj  - The second flavour index
/// @param val   - The absolute value of the parameter
/// @param phase - The complex phase of the parameter in radians
///
Set any given NSI parameter.

This will check if value is changing to keep track of whether
the eigensystem needs to be recomputed.

Flavours are:\n
0 = nue, 1 = numu, 2 = nutau

Requires that flvi < flvj. Will notify you if input is wrong.
If flvi > flvj, will assume reverse order and swap flvi and flvj.
Set any given NSI parameter . This will check if value is changing to keep track of whether the eigensystem needs to be recomputed . Flavours are : \ n 0 = nue 1 = numu 2 = nutau Requires that flvi < flvj . Will notify you if input is wrong . If flvi > flvj will assume reverse order and swap flvi and flvj .
void PMNS_NSI::SetEps(int flvi, int flvj, double val, double phase){
  if(flvi > flvj){
    cout << "First argument should be smaller or equal to second argument" << endl;
    cout << "Setting reverse order (Eps_" << flvj << flvi << "). " << endl;
    int temp = flvi;
    flvi = flvj;
    flvj = temp;
  }
  if(flvi<0 || flvi>2 || flvj < flvi || flvj > 2){
    cout << "Eps_" << flvi << flvj << " not valid for " << fNumNus;
    cout << " neutrinos. Doing nothing." << endl;
    return;
  }
  complexD h = val;  
  if(flvi != flvj) h *= complexD(cos(phase), sin(phase)); 
  bool isSame = (fEps[flvi][flvj] == h);
  if(!isSame) ClearCache();
  fGotES *= isSame;
  fEps[flvi][flvj] = h;
}
void PMNS_NSI :: SetEps ( int flvi , int flvj , double val , double phase ) { if ( flvi > flvj ) { cout << " " << endl ; cout << " " << flvj << flvi << " " << endl ; int temp = flvi ; flvi = flvj ; flvj = temp ; } if ( flvi < 0 || flvi > 2 || flvj < flvi || flvj > 2 ) { cout << " " << flvi << flvj << " " << fNumNus ; cout << " " << endl ; return ; } complexD h = val ; if ( flvi != flvj ) h *= complexD ( cos ( phase ) , sin ( phase ) ) ; bool isSame = ( fEps [ flvi ] [ flvj ] == h ) ; if ( ! isSame ) ClearCache ( ) ; fGotES *= isSame ; fEps [ flvi ] [ flvj ] = h ; }
......................................................................
Set any given NSI parameter.
...................................................................... Set any given NSI parameter .