OscProb
PMNS_Deco.cxx File Reference
#include <iostream>
#include "PMNS_Deco.h"
#include "exceptions.h"

Go to the source code of this file.

Functions

vectorI sort3 (const vectorD &x)
 

Function Documentation

◆ sort3()

vectorI sort3 ( const vectorD x)

Simple index sorting of 3-vector

Definition at line 206 of file PMNS_Deco.cxx.

207{
208 vectorI out(3, 0);
209
210 // 1st element is smallest
211 if (x[0] < x[1] && x[0] < x[2]) {
212 // 3rd element is largest
213 if (x[1] < x[2]) {
214 out[1] = 1;
215 out[2] = 2;
216 }
217 // 2nd element is largest
218 else {
219 out[1] = 2;
220 out[2] = 1;
221 }
222 }
223 // 2nd element is smallest
224 else if (x[1] < x[2]) {
225 out[0] = 1;
226 // 3rd element is largest
227 if (x[0] < x[2]) out[2] = 2;
228 // 1st element is largest
229 else
230 out[1] = 2;
231 }
232 // 3rd element is smallest
233 else {
234 out[0] = 2;
235 // 2nd element is largest
236 if (x[0] < x[1]) out[2] = 1;
237 // 1st element is largest
238 else
239 out[1] = 1;
240 }
241
242 return out;
243}
std::vector< int > vectorI
Definition: Definitions.h:16

Referenced by OscProb::PMNS_Deco::PropagatePath().