39 template<
class ...Args,
class JContainer_t>
41 const JContainer_t& container,
52 int main(
const int argc,
const char **argv)
61 JOscParameters_t parameterGrids;
73 =
"oscillation_parameters.%.txt";
74 zap[
'w'] =
make_field(wildcard,
"wildcard character")
76 zap[
'@'] =
make_field(parameterGrids,
"oscillation parameter grids")
77 = JOscParameters_t(
true);
83 catch(
const exception& error) {
84 FATAL(error.what() << endl);
90 if (pos == std::string::npos) {
91 FATAL(
"Given output file name must contain the given wildcard character " << wildcard);
94 const JGrid_t&
theta12 = parameterGrids.theta12;
95 const JGrid_t&
theta13 = parameterGrids.theta13;
96 const JGrid_t&
theta23 = parameterGrids.theta23;
97 const JGrid_t&
deltaCP = parameterGrids.deltaCP;
98 const JGrid_t&
dM21sq = parameterGrids.dM21sq;
99 const JGrid_t&
dM31sq = parameterGrids.dM31sq;
101 const int N = (
theta12.getSize() *
108 const int maxDigits =
to_string(N).length();
110 NOTICE(
"Writing " << N <<
" oscillation parameters files" << endl);
114 for (
int i1 = 0; i1 !=
dM21sq.getSize(); ++i1) {
118 for (
int i2 = 0; i2 !=
dM31sq.getSize(); ++i2) {
122 for (
int i3 = 0; i3 !=
deltaCP.getSize(); ++i3) {
126 for (
int i4 = 0; i4 !=
theta12.getSize(); ++i4) {
130 for (
int i5 = 0; i5 !=
theta13.getSize(); ++i5) {
134 for (
int i6 = 0; i6 !=
theta23.getSize(); ++i6) {
147 ofstream out(filename.c_str());
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
#define MAKE_STRING(A)
Make string.
int main(const int argc, const char **argv)
Auxiliary program to write all elements in an oscillation parameters grid to separate output files.
Data structure for single set of oscillation parameters.
JMixingAngle< T > theta23
PMNS mixing angle between the second and third neutrino mass eigenstates [rad].
JMassSquaredDifference< T > dM21sq
Squared mass difference between the first and second neutrino mass eigenstates [eV2].
JMixingAngle< T > theta12
PMNS mixing angle between the first and second neutrino mass eigenstates [rad].
JMassSquaredDifference< T > dM31sq
Squared mass difference between the first and third neutrino mass eigenstates [eV2].
JMixingAngle< T > theta13
PMNS mixing angle between the first and third neutrino mass eigenstates [rad].
JComplexPhase< T > deltaCP
PMNS phase angle [rad].
Utility class to parse command line options.
int getIndex()
Get index for user I/O manipulation.
std::string to_string(const T &value)
Convert value to string.
static constexpr const char *const theta23()
static constexpr const char *const theta13()
static constexpr const char *const dM31sq()
static constexpr const char *const dM21sq()
static constexpr const char *const deltaCP()
static constexpr const char *const theta12()
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for sequence of same character.