diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml
index 1671e337..53d6eaf0 100644
--- a/.github/workflows/validation.yml
+++ b/.github/workflows/validation.yml
@@ -266,3 +266,27 @@ jobs:
export REST_GAS_STEP=2
restManager --c BabyIAXO_Micromegas_XMM.rml --o output.root
restRoot -q ValidateChain.C'("output.root")'
+
+ Sensitivity:
+ name: Sensitivity tests
+ runs-on: ubuntu-latest
+ container:
+ image: ghcr.io/lobis/root-geant4-garfield:rest-for-physics
+ needs: [ build-axionlib ]
+ steps:
+ - uses: rest-for-physics/framework/.github/actions/checkout@master
+ with:
+ branch: ${{ env.BRANCH_NAME }}
+ repository: rest-for-physics/axionlib
+ path: ${{ env.AXION_LIB_PATH }}
+ - name: Restore cache
+ uses: actions/cache@v3
+ id: axionlib-install-cache
+ with:
+ key: ${{ env.BRANCH_NAME }}-${{ github.sha }}
+ path: ${{ env.REST_PATH }}
+ - name: Dummy IAXO
+ run: |
+ source ${{ env.REST_PATH }}/thisREST.sh
+ cd ${{ env.AXION_LIB_PATH }}/pipeline/sensitivity/
+ restRoot -b -q Validation.C
diff --git a/examples/full-ray-tracing/helioscope.rml b/examples/01.full-ray-tracing/helioscope.rml
similarity index 100%
rename from examples/full-ray-tracing/helioscope.rml
rename to examples/01.full-ray-tracing/helioscope.rml
diff --git a/examples/full-ray-tracing/summary.rml b/examples/01.full-ray-tracing/summary.rml
similarity index 100%
rename from examples/full-ray-tracing/summary.rml
rename to examples/01.full-ray-tracing/summary.rml
diff --git a/examples/optics/opticsBench.rml b/examples/02.optics/opticsBench.rml
similarity index 100%
rename from examples/optics/opticsBench.rml
rename to examples/02.optics/opticsBench.rml
diff --git a/examples/optics/opticsBenchTrueW1.rml b/examples/02.optics/opticsBenchTrueW1.rml
similarity index 100%
rename from examples/optics/opticsBenchTrueW1.rml
rename to examples/02.optics/opticsBenchTrueW1.rml
diff --git a/examples/optics/opticsPlots.rml b/examples/02.optics/opticsPlots.rml
similarity index 100%
rename from examples/optics/opticsPlots.rml
rename to examples/02.optics/opticsPlots.rml
diff --git a/examples/optics/opticsPlotsAllTransm.rml b/examples/02.optics/opticsPlotsAllTransm.rml
similarity index 100%
rename from examples/optics/opticsPlotsAllTransm.rml
rename to examples/02.optics/opticsPlotsAllTransm.rml
diff --git a/examples/03.IAXO/BabyIAXO.rml b/examples/03.IAXO/BabyIAXO.rml
new file mode 100644
index 00000000..b52005b0
--- /dev/null
+++ b/examples/03.IAXO/BabyIAXO.rml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/03.IAXO/GenerateSignalComponents.C b/examples/03.IAXO/GenerateSignalComponents.C
new file mode 100644
index 00000000..53a5e077
--- /dev/null
+++ b/examples/03.IAXO/GenerateSignalComponents.C
@@ -0,0 +1,64 @@
+Double_t Eo = 0.5; // keV
+Double_t Ef = 10; // keV
+
+Int_t GenerateSignalComponents(std::string rmlFile, std::string name, Double_t totalYears = 1.5,
+ size_t firstSteps = 5, Double_t firstYears = 0.5) {
+ Double_t totalExposureTime = totalYears * 365. * 12 * 3600;
+ Double_t firstStepsExposure = firstYears * 365. * 12 * 3600;
+
+ TRestAxionField field;
+ std::vector> scanSteps =
+ field.GetMassDensityScanning("He", 0.25, 20); // Up to 0.25 eV
+
+ TRestAxionHelioscopeSignal gasPhase(rmlFile.c_str(), name.c_str());
+ std::filesystem::path filePath = rmlFile;
+ std::filesystem::path newExtension = ".settings";
+ std::string settingsFile = filePath.replace_extension(newExtension);
+ std::filesystem::path rootExtension = ".root";
+ std::string componentsFile = "Signals" + (std::string)filePath.replace_extension(rootExtension);
+
+ std::filesystem::create_directories("output");
+ settingsFile = "output/" + settingsFile;
+ componentsFile = "output/" + componentsFile;
+
+ TFile* f = TFile::Open((TString)componentsFile, "RECREATE");
+ std::vector exposureTimes;
+ for (size_t n = 0; n < scanSteps.size(); n++) {
+ Double_t mass = scanSteps[n].first;
+ Double_t density = scanSteps[n].second;
+
+ gasPhase.SetName("P" + (TString)IntegerToString(n + 1));
+ gasPhase.GetGas()->SetGasDensity("He", density);
+ gasPhase.RegenerateHistograms();
+
+ Double_t nGamma = gasPhase.GetSignalRate(mass, Eo, Ef);
+ Double_t ksvzFactor = 3.75523 * mass;
+ Double_t exposureTime = 0;
+ if (n < firstSteps)
+ exposureTime = firstStepsExposure / firstSteps;
+ else
+ exposureTime = TMath::Log(20.) / TMath::Power(ksvzFactor, 4) / nGamma;
+ exposureTimes.push_back(exposureTime);
+
+ gasPhase.Write("P" + (TString)IntegerToString(n + 1));
+ }
+ f->Close();
+
+ std::cout << "Generated signals file: " << componentsFile << std::endl;
+
+ Double_t generatedExposureTime = 0;
+ for (size_t n = firstSteps; n < scanSteps.size(); n++) generatedExposureTime += exposureTimes[n];
+
+ FILE* g = fopen(settingsFile.c_str(), "wt");
+ for (size_t n = 0; n < firstSteps; n++) fprintf(g, "%lf\tP%d\n", exposureTimes[n], (int)(n + 1));
+
+ for (size_t n = firstSteps; n < scanSteps.size(); n++)
+ fprintf(g, "%lf\tP%d\n",
+ (totalExposureTime - firstStepsExposure) * exposureTimes[n] / generatedExposureTime,
+ (int)(n + 1));
+ fclose(g);
+
+ std::cout << "Generated settings file: " << settingsFile << std::endl;
+
+ return 0;
+}
diff --git a/examples/03.IAXO/IAXO.rml b/examples/03.IAXO/IAXO.rml
new file mode 100644
index 00000000..f229f130
--- /dev/null
+++ b/examples/03.IAXO/IAXO.rml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/03.IAXO/IAXOPlus.rml b/examples/03.IAXO/IAXOPlus.rml
new file mode 100644
index 00000000..bd8ddb9f
--- /dev/null
+++ b/examples/03.IAXO/IAXOPlus.rml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/examples/03.IAXO/README.md b/examples/03.IAXO/README.md
new file mode 100644
index 00000000..ef7816b6
--- /dev/null
+++ b/examples/03.IAXO/README.md
@@ -0,0 +1,91 @@
+This example is used to reproduce the different scenarios considered inside the "E. Armengaud et al JCAP06(2019)047, Physics Potential of the International Axion Observatory". Those scenarios are summarized in the following table.
+
+Parameter | Units | BabyIAXO | IAXO baseline | IAXO upgraded |
+ :---: | :---: | :---: | :---: | :---: |
+B | $T$ | ~1.73 | ~2.55 | ~3.57 |
+L | $m$ | 10 | 20 | 22 |
+A | $m^2$ | 0.77 | 2.3 | 3.9 |
+ -- | -- | -- | -- | -- |
+b | $keV^{-1}cm^{-2}s^{-1}$ | $1\times10^{-7}$ | $1\times 10^{-8}$ | $1\times10^{-9}$ |
+$\epsilon_d$ | | 0.7 | 0.8 | 0.8 |
+$\epsilon_o$ | | 0.35 | 0.7 | 0.7 |
+a | $cm^2$ | 2 x 0.3 | 8 x 0.15 | 8 x 0.15 |
+$\epsilon_t$ | | 0.5 | 0.5 | 0.5 |
+t | $year$ | 1.5+1.5 | 3+3 | 5+5 |
+ File | | BabyIAXO.rml | IAXO.rml | IAXOPlus.rml |
+
+We consider a tracking of 12 hours which is why we define $\epsilon_t$ efficiency equal to 0.5. The magnetic field considered is obtained from the $f_M$ divided by $L^2 A$ from the table found in the original publication. The macro `GenerateSignalComponents.C` will produce a set of continuous density settings covering masses up to 0.25\,eV, which translates into 73 density settings.
+
+## Vacuum sensitivity curve generation
+
+```
+restRoot
+[0] TRestSensitivity sens("BabyIAXO.rml", "VacuumPhase");
+[1] sens.GenerateCurve()
+[2] sens.ExportCurve("limits/BabyIAXO_Vacuum.csv", 0 )
+```
+## Combined vacuum and gas phase sensitivity curve generation
+
+We need first to pre-generate the signals for the different density settings.
+
+```
+restRoot
+[0] .L GenerateSignalComponents.C
+[1] GenerateSignalComponents( "BabyIAXO.rml", "GasSignal" );
+```
+
+The exposure times at each density setting are adjusted to follow the KSVZ line trend. It is `GenerateSignalComponents.C` the responsible to perform this calculation and to create a `settings` file that will define the exposure times, and the corresponding TRestComponent signal, that will be also generated by this macro for each density setting, and stored in a ROOT file.
+
+The `GenerateSignalComponents` macro defines a default total exposure time that will be distributed between the different density settings. For example, in order to generate the signals and settings file for IAXO we would need to specify that the gas phase takes in total 5 years of 300days and 12 hours, and express it in seconds.
+
+```
+restRoot
+[0] .L GenerateSignalComponents.C
+[1] GenerateSignalComponents( "BabyIAXO.rml", "GasSignal", 5, 5, 1.66 );
+```
+
+The two last arguments specify the number of steps (5) that will equaly share the exposure time (1.66). The remaining density settings will share the remaining exposure time following a KSVZ trend.
+
+For the scenarios given in this example (BabyIAXO/IAXO/IAXOPlus) we have used:
+
+```
+GenerateSignalComponents("BabyIAXO.rml", "GasSignal", 1.5, 5, 0.5 );
+GenerateSignalComponents("IAXO.rml", "GasSignal", 3, 5, 1 );
+GenerateSignalComponents("IAXOPlus.rml", "GasSignal", 5, 5, 1.66 );
+```
+
+The first density setting will be skipped since it exceeds the total time required to reach the KSVZ line. We may also change the number of skipped settings. Then, inside `TRestSensitivity` we define an experiment list, the `settings` file with a column which the calculated exposure time, and the signal to be used, with a common background defined inside .
+
+```
+[0] TRestSensitivity sens("BabyIAXO.rml", "CombinedPhase");
+[1] sens.GenerateCurve()
+[2] sens.ExportCurve("limits/BabyIAXO_Combined.csv", 0 )
+```
+
+### Detector response
+
+A detailed detector x-ray response could be considered by adding the pre-calculated response constructed using [restG4](https://github.com/rest-for-physics/restG4/tree/master), see example [14.DetectorResponse](https://github.com/rest-for-physics/restG4/tree/master/examples/14.DetectorResponse).The pre-calculated response matrix will be convoluted with the axion energy spectrum resulting in a calculation that is 150 times (number of reponse matrix bins) more expensive. The detector response will be considered in the sensitivity calculation if we include a `` section inside ``, for example for a Xenon-Neon based mixture at 1.4 bar we would add:
+
+```
+
+```
+
+**Hints**
+- The number of parameter nodes, mass values at which the signal is calculated is of the order of 500 points, which will lead to a HD curve. Reducing the number of points by increasing the parameter `stepParameterValue` will also reduce the computational cost.
+- The parameter `useAverage` has been enabled for all examples, meaning that the tracking mock MonteCarlo data will be generated using exactly the average number of background counts, thus representing an average experiment but not a realistic data taking program. Still good enough to present prospects. A more complete exclusion could be achieved by disabling the `useAverage` parameter and generating several sensitivity curves, using `TRestSensitivity::GenerateCurves(N)` and then drawing them using `TRestSensitivity::DrawLevelCurves`.
+- We are using here the Primakoff flux for the calculation, but obviously just replacing the `TRestAxionQCDSolarFlux` by the corresponding definition would allow to get limit to e.g. the ABC electron coupling flux.
+
+### Results
+
+The limits directory contains the sensitivity results obtained with each of the TRestSensitivity definitions defined in this example. It also contains a `.gp` file to reproduce the plot shown here.
+
+![Limits](limits/IAXO.png)
+
+The ripples observed in the IAXO and IAXO+ curves is due to the different magnet length. The density settings described inside `GenerateSignalComponents.C` macro, using `TRestAxionField::GetMassDensityScanning`, uses the default values of `TRestAxionField` which correspond to a magnetic lenght of `10m` and therefore they are optimized for BabyIAXO. A smoother curve could be achieved by tuning the density settings position, however it is also interesting to visualize the impact of density settings choice.
+
+### Credit
+
+Consider citing any of the following publications:
+
+- E. Armengaud et al JCAP06(2019)047, Physics Potential of the International Axion Observatory".
+- Javier Galan, Johanna von Oy, Kresimir Jakovcic, Francisco Rodríguez Candón, Juan Antonio García, Luis Antonio Obis Aparicio, Sebastian Smith, Konrad Altenmüller, Louis Helary, Tomas O'Shea. (2024). rest-for-physics/axionlib: v2.4 (v2.4). Zenodo. https://doi.org/10.5281/zenodo.11110335
diff --git a/examples/03.IAXO/limits/BabyIAXO_Combined.csv b/examples/03.IAXO/limits/BabyIAXO_Combined.csv
new file mode 100644
index 00000000..a183f966
--- /dev/null
+++ b/examples/03.IAXO/limits/BabyIAXO_Combined.csv
@@ -0,0 +1,466 @@
+0.001 1.66553e-11
+0.00102 1.66553e-11
+0.0010404 1.66553e-11
+0.00106121 1.66553e-11
+0.00108243 1.66553e-11
+0.00110408 1.66553e-11
+0.00112616 1.66553e-11
+0.00114869 1.66553e-11
+0.00117166 1.66553e-11
+0.00119509 1.66553e-11
+0.00121899 1.66553e-11
+0.00124337 1.66553e-11
+0.00126824 1.66553e-11
+0.00129361 1.66553e-11
+0.00131948 1.66553e-11
+0.00134587 1.66553e-11
+0.00137279 1.66545e-11
+0.00140024 1.66545e-11
+0.00142825 1.66545e-11
+0.00145681 1.66545e-11
+0.00148595 1.66545e-11
+0.00151567 1.66545e-11
+0.00154598 1.66545e-11
+0.0015769 1.66545e-11
+0.00160844 1.66545e-11
+0.00164061 1.66545e-11
+0.00167342 1.66545e-11
+0.00170689 1.66545e-11
+0.00174102 1.66536e-11
+0.00177584 1.66536e-11
+0.00181136 1.66536e-11
+0.00184759 1.66536e-11
+0.00188454 1.66536e-11
+0.00192223 1.66536e-11
+0.00196068 1.66536e-11
+0.00199989 1.66536e-11
+0.00203989 1.66536e-11
+0.00208069 1.66528e-11
+0.0021223 1.66528e-11
+0.00216474 1.66528e-11
+0.00220804 1.66528e-11
+0.0022522 1.66528e-11
+0.00229724 1.66528e-11
+0.00234319 1.66528e-11
+0.00239005 1.66528e-11
+0.00243785 1.6652e-11
+0.00248661 1.6652e-11
+0.00253634 1.6652e-11
+0.00258707 1.6652e-11
+0.00263881 1.6652e-11
+0.00269159 1.6652e-11
+0.00274542 1.6652e-11
+0.00280033 1.6652e-11
+0.00285633 1.66511e-11
+0.00291346 1.66511e-11
+0.00297173 1.66511e-11
+0.00303117 1.66511e-11
+0.00309179 1.66511e-11
+0.00315362 1.66511e-11
+0.0032167 1.66511e-11
+0.00328103 1.66511e-11
+0.00334665 1.66511e-11
+0.00341358 1.66511e-11
+0.00348186 1.66511e-11
+0.00355149 1.66511e-11
+0.00362252 1.66511e-11
+0.00369497 1.66511e-11
+0.00376887 1.66511e-11
+0.00384425 1.66511e-11
+0.00392114 1.66511e-11
+0.00399956 1.6652e-11
+0.00407955 1.6652e-11
+0.00416114 1.6652e-11
+0.00424436 1.66528e-11
+0.00432925 1.66528e-11
+0.00441584 1.66536e-11
+0.00450415 1.66536e-11
+0.00459424 1.66545e-11
+0.00468612 1.66553e-11
+0.00477984 1.66561e-11
+0.00487544 1.6657e-11
+0.00497295 1.66578e-11
+0.00507241 1.66586e-11
+0.00517386 1.66603e-11
+0.00527733 1.6662e-11
+0.00538288 1.66636e-11
+0.00549054 1.66653e-11
+0.00560035 1.6667e-11
+0.00571235 1.66695e-11
+0.0058266 1.6672e-11
+0.00594313 1.66745e-11
+0.006062 1.6677e-11
+0.00618324 1.66803e-11
+0.0063069 1.66845e-11
+0.00643304 1.66878e-11
+0.0065617 1.66928e-11
+0.00669293 1.66978e-11
+0.00682679 1.67029e-11
+0.00696333 1.67087e-11
+0.00710259 1.67154e-11
+0.00724465 1.67221e-11
+0.00738954 1.67296e-11
+0.00753733 1.6738e-11
+0.00768808 1.67472e-11
+0.00784184 1.67572e-11
+0.00799867 1.67673e-11
+0.00815865 1.6779e-11
+0.00832182 1.67916e-11
+0.00848826 1.68051e-11
+0.00865802 1.68193e-11
+0.00883118 1.68345e-11
+0.00900781 1.68505e-11
+0.00918796 1.68682e-11
+0.00937172 1.68868e-11
+0.00955916 1.6907e-11
+0.00975034 1.69282e-11
+0.00994535 1.69511e-11
+0.0101443 1.69748e-11
+0.0103471 1.70003e-11
+0.0105541 1.70267e-11
+0.0107652 1.70544e-11
+0.0109805 1.70842e-11
+0.0112001 1.7115e-11
+0.0114241 1.71476e-11
+0.0116526 1.71819e-11
+0.0118856 1.72172e-11
+0.0121233 1.72534e-11
+0.0123658 1.72914e-11
+0.0126131 1.73303e-11
+0.0128654 1.73702e-11
+0.0131227 1.74111e-11
+0.0133851 1.7453e-11
+0.0136528 1.74949e-11
+0.0139259 1.75378e-11
+0.0142044 1.75817e-11
+0.0144885 1.76249e-11
+0.0147783 1.7669e-11
+0.0150738 1.77122e-11
+0.0153753 1.77556e-11
+0.0156828 1.77983e-11
+0.0159965 1.78402e-11
+0.0163164 1.78804e-11
+0.0166427 1.79188e-11
+0.0169756 1.79547e-11
+0.0173151 1.79871e-11
+0.0176614 1.8015e-11
+0.0180146 1.80384e-11
+0.0183749 1.80565e-11
+0.0187424 1.80682e-11
+0.0191173 1.80754e-11
+0.0194996 1.80782e-11
+0.0198896 1.80791e-11
+0.0202874 1.808e-11
+0.0206931 1.80836e-11
+0.021107 1.80953e-11
+0.0215291 1.8118e-11
+0.0219597 1.81543e-11
+0.0223989 1.8207e-11
+0.0228469 1.82772e-11
+0.0233038 1.83652e-11
+0.0237699 1.84674e-11
+0.0242453 1.85837e-11
+0.0247302 1.87114e-11
+0.0252248 1.88485e-11
+0.0257293 1.89923e-11
+0.0262439 1.91392e-11
+0.0267688 1.92833e-11
+0.0273042 1.94182e-11
+0.0278502 1.95351e-11
+0.0284072 1.96281e-11
+0.0289754 1.96911e-11
+0.0295549 1.97186e-11
+0.030146 1.97098e-11
+0.0307489 1.96704e-11
+0.0313639 1.96242e-11
+0.0319912 1.96026e-11
+0.032631 1.96399e-11
+0.0332836 1.97522e-11
+0.0339493 1.99318e-11
+0.0346283 2.01523e-11
+0.0353208 2.03767e-11
+0.0360272 2.05682e-11
+0.0367478 2.0693e-11
+0.0374827 2.07313e-11
+0.0382324 2.06909e-11
+0.0389971 2.06001e-11
+0.039777 2.05055e-11
+0.0405725 2.0483e-11
+0.041384 2.06145e-11
+0.0422117 2.08926e-11
+0.0430559 2.11892e-11
+0.043917 2.13669e-11
+0.0447954 2.13658e-11
+0.0456913 2.11743e-11
+0.0466051 2.08665e-11
+0.0475372 2.05548e-11
+0.0484879 2.04349e-11
+0.0494577 2.06248e-11
+0.0504468 2.09219e-11
+0.0514558 2.10824e-11
+0.0524849 2.09743e-11
+0.0535346 2.06516e-11
+0.0546053 2.03248e-11
+0.0556974 2.02361e-11
+0.0568113 2.02741e-11
+0.0579476 2.06661e-11
+0.0591065 2.13337e-11
+0.0602886 2.14482e-11
+0.0614944 2.16237e-11
+0.0627243 2.20722e-11
+0.0639788 2.16996e-11
+0.0652584 2.15051e-11
+0.0665635 2.14557e-11
+0.0678948 2.22807e-11
+0.0692527 2.31918e-11
+0.0706378 2.28585e-11
+0.0720505 2.21109e-11
+0.0734915 2.25824e-11
+0.0749614 2.29203e-11
+0.0764606 2.23365e-11
+0.0779898 2.29479e-11
+0.0795496 2.43768e-11
+0.0811406 2.41427e-11
+0.0827634 2.44892e-11
+0.0844187 2.5683e-11
+0.086107 2.51341e-11
+0.0878292 2.62642e-11
+0.0895858 2.71197e-11
+0.0913775 2.67146e-11
+0.093205 2.85111e-11
+0.0950691 2.7732e-11
+0.0969705 2.95393e-11
+0.0989099 2.92088e-11
+0.100888 3.05225e-11
+0.102906 3.04585e-11
+0.104964 3.19955e-11
+0.107063 3.14672e-11
+0.109205 3.34793e-11
+0.111389 3.25727e-11
+0.113616 3.47631e-11
+0.115889 3.46832e-11
+0.118207 3.49094e-11
+0.120571 3.71562e-11
+0.122982 3.68021e-11
+0.125442 3.6815e-11
+0.127951 3.90917e-11
+0.13051 4.03187e-11
+0.13312 3.99894e-11
+0.135782 3.97879e-11
+0.138498 4.07698e-11
+0.141268 4.23423e-11
+0.144093 4.38091e-11
+0.146975 4.50588e-11
+0.149914 4.60359e-11
+0.152913 4.68616e-11
+0.155971 4.72759e-11
+0.15909 4.75985e-11
+0.162272 4.76675e-11
+0.165518 4.91206e-11
+0.168828 5.2337e-11
+0.172205 5.27363e-11
+0.175649 5.15693e-11
+0.179162 5.54973e-11
+0.182745 5.46724e-11
+0.1864 5.69508e-11
+0.190128 5.64801e-11
+0.19393 6.02686e-11
+0.197809 5.85609e-11
+0.201765 6.00009e-11
+0.2058 6.30824e-11
+0.209916 6.51616e-11
+0.214115 6.63154e-11
+0.218397 6.775e-11
+0.222765 6.86727e-11
+0.22722 6.83096e-11
+0.231765 6.81647e-11
+0.2364 7.28024e-11
+0.241128 7.17184e-11
+0.245951 7.59276e-11
+0.25087 7.64839e-11
+0.255887 1.527e-10
+0.261005 1.66416e-10
+0.266225 1.71226e-10
+0.271549 1.96404e-10
+0.27698 1.81311e-10
+0.28252 1.87681e-10
+0.28817 1.92625e-10
+0.293934 2.08893e-10
+0.299812 2.07799e-10
+0.305809 2.17196e-10
+0.311925 2.19539e-10
+0.318163 2.21202e-10
+0.324526 2.32295e-10
+0.331017 2.26962e-10
+0.337637 2.38437e-10
+0.34439 2.35218e-10
+0.351278 2.41183e-10
+0.358303 2.52241e-10
+0.36547 2.67981e-10
+0.372779 2.70486e-10
+0.380235 2.62793e-10
+0.387839 2.82563e-10
+0.395596 2.82125e-10
+0.403508 2.80661e-10
+0.411578 2.9673e-10
+0.41981 3.07577e-10
+0.428206 3.11563e-10
+0.43677 3.32615e-10
+0.445505 3.12702e-10
+0.454415 3.55565e-10
+0.463504 3.31486e-10
+0.472774 3.5404e-10
+0.482229 3.55975e-10
+0.491874 3.41084e-10
+0.501711 3.72818e-10
+0.511746 3.64003e-10
+0.52198 3.72836e-10
+0.53242 3.85723e-10
+0.543069 4.12967e-10
+0.55393 4.02468e-10
+0.565008 4.003e-10
+0.576309 4.1025e-10
+0.587835 4.29984e-10
+0.599592 4.34458e-10
+0.611583 4.59002e-10
+0.623815 4.34328e-10
+0.636291 4.75945e-10
+0.649017 4.75592e-10
+0.661997 4.90564e-10
+0.675237 4.91497e-10
+0.688742 5.30099e-10
+0.702517 4.88678e-10
+0.716567 5.24824e-10
+0.730899 5.50123e-10
+0.745517 5.29278e-10
+0.760427 5.39216e-10
+0.775636 5.65549e-10
+0.791148 5.95808e-10
+0.806971 6.05873e-10
+0.823111 6.23906e-10
+0.839573 6.60357e-10
+0.856364 6.60357e-10
+0.873492 6.29075e-10
+0.890961 6.48738e-10
+0.908781 6.53655e-10
+0.926956 6.87683e-10
+0.945495 7.03931e-10
+0.964405 6.83398e-10
+0.983693 7.6459e-10
+1.00337 7.5313e-10
+1.02343 7.5956e-10
+1.0439 7.80877e-10
+1.06478 7.3107e-10
+1.08608 7.78187e-10
+1.1078 8.21445e-10
+1.12995 8.18124e-10
+1.15255 8.6169e-10
+1.1756 8.42305e-10
+1.19912 8.95717e-10
+1.2231 8.74758e-10
+1.24756 9.55274e-10
+1.27251 9.0228e-10
+1.29796 9.37771e-10
+1.32392 9.94912e-10
+1.3504 9.46534e-10
+1.37741 1.00695e-09
+1.40496 1.04042e-09
+1.43306 1.07752e-09
+1.46172 1.00479e-09
+1.49095 1.10659e-09
+1.52077 1.1294e-09
+1.55119 1.12119e-09
+1.58221 1.14e-09
+1.61385 1.19681e-09
+1.64613 1.23765e-09
+1.67905 1.26124e-09
+1.71263 1.20383e-09
+1.74689 1.22552e-09
+1.78182 1.33914e-09
+1.81746 1.32422e-09
+1.85381 1.39127e-09
+1.89089 1.49351e-09
+1.9287 1.41942e-09
+1.96728 1.43641e-09
+2.00662 1.47451e-09
+2.04676 1.52903e-09
+2.08769 1.53324e-09
+2.12945 1.56856e-09
+2.17203 1.5648e-09
+2.21547 1.6254e-09
+2.25978 1.68183e-09
+2.30498 1.70222e-09
+2.35108 1.65336e-09
+2.3981 1.80872e-09
+2.44606 1.68891e-09
+2.49498 1.86143e-09
+2.54488 1.80754e-09
+2.59578 1.80818e-09
+2.6477 1.95071e-09
+2.70065 1.99455e-09
+2.75466 2.01571e-09
+2.80976 2.11965e-09
+2.86595 2.18799e-09
+2.92327 2.10539e-09
+2.98174 2.20148e-09
+3.04137 2.16887e-09
+3.1022 2.31945e-09
+3.16424 2.21839e-09
+3.22753 2.26308e-09
+3.29208 2.44957e-09
+3.35792 2.46481e-09
+3.42508 2.44761e-09
+3.49358 2.66278e-09
+3.56345 2.57086e-09
+3.63472 2.72976e-09
+3.70742 2.67252e-09
+3.78156 2.70639e-09
+3.8572 2.92633e-09
+3.93434 2.88983e-09
+4.01303 3.01222e-09
+4.09329 3.0349e-09
+4.17515 3.05195e-09
+4.25866 3.25178e-09
+4.34383 3.21797e-09
+4.4307 3.189e-09
+4.51932 3.23831e-09
+4.60971 3.40122e-09
+4.7019 3.41143e-09
+4.79594 3.49851e-09
+4.89186 3.54917e-09
+4.98969 3.61129e-09
+5.08949 3.67037e-09
+5.19128 3.68416e-09
+5.2951 3.90493e-09
+5.401 4.09522e-09
+5.50902 3.94517e-09
+5.61921 4.09154e-09
+5.73159 4.33102e-09
+5.84622 4.17243e-09
+5.96315 4.29823e-09
+6.08241 4.4098e-09
+6.20406 4.67266e-09
+6.32814 4.98102e-09
+6.4547 4.88764e-09
+6.58379 5.15254e-09
+6.71547 4.79539e-09
+6.84978 4.78055e-09
+6.98678 5.16441e-09
+7.12651 5.53706e-09
+7.26904 5.30271e-09
+7.41442 5.38174e-09
+7.56271 5.526e-09
+7.71396 5.53789e-09
+7.86824 5.68364e-09
+8.02561 6.11366e-09
+8.18612 5.90425e-09
+8.34984 6.15692e-09
+8.51684 6.42918e-09
+8.68718 6.40416e-09
+8.86092 6.89145e-09
+9.03814 6.6983e-09
+9.2189 7.32478e-09
+9.40328 6.78341e-09
+9.59135 6.94646e-09
+9.78317 7.23162e-09
+9.97884 7.33249e-09
diff --git a/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv b/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv
new file mode 100644
index 00000000..710a7f5a
--- /dev/null
+++ b/examples/03.IAXO/limits/BabyIAXO_Vacuum.csv
@@ -0,0 +1,466 @@
+0.001 1.6974e-11
+0.00102 1.6974e-11
+0.0010404 1.6974e-11
+0.00106121 1.6974e-11
+0.00108243 1.6974e-11
+0.00110408 1.6974e-11
+0.00112616 1.6974e-11
+0.00114869 1.6974e-11
+0.00117166 1.6974e-11
+0.00119509 1.6974e-11
+0.00121899 1.6974e-11
+0.00124337 1.6974e-11
+0.00126824 1.6974e-11
+0.00129361 1.6974e-11
+0.00131948 1.6974e-11
+0.00134587 1.6974e-11
+0.00137279 1.6974e-11
+0.00140024 1.6974e-11
+0.00142825 1.6974e-11
+0.00145681 1.6974e-11
+0.00148595 1.6974e-11
+0.00151567 1.6974e-11
+0.00154598 1.6974e-11
+0.0015769 1.6974e-11
+0.00160844 1.6974e-11
+0.00164061 1.6974e-11
+0.00167342 1.6974e-11
+0.00170689 1.6974e-11
+0.00174102 1.6974e-11
+0.00177584 1.6974e-11
+0.00181136 1.6974e-11
+0.00184759 1.69748e-11
+0.00188454 1.69748e-11
+0.00192223 1.69748e-11
+0.00196068 1.69748e-11
+0.00199989 1.69748e-11
+0.00203989 1.69748e-11
+0.00208069 1.69748e-11
+0.0021223 1.69748e-11
+0.00216474 1.69748e-11
+0.00220804 1.69748e-11
+0.0022522 1.69748e-11
+0.00229724 1.69748e-11
+0.00234319 1.69757e-11
+0.00239005 1.69757e-11
+0.00243785 1.69757e-11
+0.00248661 1.69757e-11
+0.00253634 1.69757e-11
+0.00258707 1.69757e-11
+0.00263881 1.69765e-11
+0.00269159 1.69765e-11
+0.00274542 1.69765e-11
+0.00280033 1.69765e-11
+0.00285633 1.69774e-11
+0.00291346 1.69774e-11
+0.00297173 1.69774e-11
+0.00303117 1.69782e-11
+0.00309179 1.69782e-11
+0.00315362 1.69782e-11
+0.0032167 1.69791e-11
+0.00328103 1.69791e-11
+0.00334665 1.69799e-11
+0.00341358 1.69808e-11
+0.00348186 1.69808e-11
+0.00355149 1.69816e-11
+0.00362252 1.69825e-11
+0.00369497 1.69825e-11
+0.00376887 1.69833e-11
+0.00384425 1.69842e-11
+0.00392114 1.6985e-11
+0.00399956 1.69859e-11
+0.00407955 1.69876e-11
+0.00416114 1.69884e-11
+0.00424436 1.69893e-11
+0.00432925 1.6991e-11
+0.00441584 1.69927e-11
+0.00450415 1.69935e-11
+0.00459424 1.69952e-11
+0.00468612 1.69969e-11
+0.00477984 1.69995e-11
+0.00487544 1.70012e-11
+0.00497295 1.70037e-11
+0.00507241 1.70063e-11
+0.00517386 1.70088e-11
+0.00527733 1.70114e-11
+0.00538288 1.70148e-11
+0.00549054 1.70182e-11
+0.00560035 1.70216e-11
+0.00571235 1.70258e-11
+0.0058266 1.70301e-11
+0.00594313 1.70344e-11
+0.006062 1.70395e-11
+0.00618324 1.7045e-11
+0.0063069 1.7051e-11
+0.00643304 1.70578e-11
+0.0065617 1.70646e-11
+0.00669293 1.70723e-11
+0.00682679 1.70808e-11
+0.00696333 1.70894e-11
+0.00710259 1.70988e-11
+0.00724465 1.7109e-11
+0.00738954 1.71202e-11
+0.00753733 1.71322e-11
+0.00768808 1.7145e-11
+0.00784184 1.71587e-11
+0.00799867 1.71742e-11
+0.00815865 1.71896e-11
+0.00832182 1.72068e-11
+0.00848826 1.72258e-11
+0.00865802 1.72456e-11
+0.00883118 1.72663e-11
+0.00900781 1.72896e-11
+0.00918796 1.7313e-11
+0.00937172 1.7339e-11
+0.00955916 1.73668e-11
+0.00975034 1.73955e-11
+0.00994535 1.74259e-11
+0.0101443 1.74591e-11
+0.0103471 1.7494e-11
+0.0105541 1.75308e-11
+0.0107652 1.75694e-11
+0.0109805 1.76099e-11
+0.0112001 1.76531e-11
+0.0114241 1.76989e-11
+0.0116526 1.77459e-11
+0.0118856 1.77956e-11
+0.0121233 1.78482e-11
+0.0123658 1.79018e-11
+0.0126131 1.79583e-11
+0.0128654 1.80168e-11
+0.0131227 1.80773e-11
+0.0133851 1.81407e-11
+0.0136528 1.82061e-11
+0.0139259 1.82727e-11
+0.0142044 1.83422e-11
+0.0144885 1.84139e-11
+0.0147783 1.84877e-11
+0.0150738 1.85641e-11
+0.0153753 1.86423e-11
+0.0156828 1.87226e-11
+0.0159965 1.88052e-11
+0.0163164 1.889e-11
+0.0166427 1.89762e-11
+0.0169756 1.90637e-11
+0.0173151 1.91526e-11
+0.0176614 1.92428e-11
+0.0180146 1.93335e-11
+0.0183749 1.94241e-11
+0.0187424 1.95146e-11
+0.0191173 1.96075e-11
+0.0194996 1.97039e-11
+0.0198896 1.98056e-11
+0.0202874 1.99168e-11
+0.0206931 2.00417e-11
+0.021107 2.01866e-11
+0.0215291 2.03564e-11
+0.0219597 2.05569e-11
+0.0223989 2.07926e-11
+0.0228469 2.10645e-11
+0.0233038 2.13765e-11
+0.0237699 2.17267e-11
+0.0242453 2.21175e-11
+0.0247302 2.25452e-11
+0.0252248 2.30134e-11
+0.0257293 2.352e-11
+0.0262439 2.40661e-11
+0.0267688 2.46501e-11
+0.0273042 2.52702e-11
+0.0278502 2.59243e-11
+0.0284072 2.66145e-11
+0.0289754 2.73334e-11
+0.0295549 2.8064e-11
+0.030146 2.87638e-11
+0.0307489 2.93801e-11
+0.0313639 2.98852e-11
+0.0319912 3.03096e-11
+0.032631 3.0737e-11
+0.0332836 3.12664e-11
+0.0339493 3.19763e-11
+0.0346283 3.29165e-11
+0.0353208 3.40789e-11
+0.0360272 3.53624e-11
+0.0367478 3.66478e-11
+0.0374827 3.79353e-11
+0.0382324 3.92504e-11
+0.0389971 4.04317e-11
+0.039777 4.14067e-11
+0.0405725 4.25524e-11
+0.041384 4.45057e-11
+0.0422117 4.7482e-11
+0.0430559 5.03966e-11
+0.043917 5.20043e-11
+0.0447954 5.2489e-11
+0.0456913 5.16829e-11
+0.0466051 4.93521e-11
+0.0475372 4.70895e-11
+0.0484879 4.61869e-11
+0.0494577 4.65626e-11
+0.0504468 4.73492e-11
+0.0514558 4.83167e-11
+0.0524849 4.9913e-11
+0.0535346 5.2286e-11
+0.0546053 5.51681e-11
+0.0556974 5.72506e-11
+0.0568113 5.73051e-11
+0.0579476 5.76745e-11
+0.0591065 6.00009e-11
+0.0602886 6.18068e-11
+0.0614944 6.22675e-11
+0.0627243 6.36209e-11
+0.0639788 6.93456e-11
+0.0652584 7.16109e-11
+0.0665635 6.92763e-11
+0.0678948 7.09799e-11
+0.0692527 6.89135e-11
+0.0706378 6.57606e-11
+0.0720505 6.97316e-11
+0.0734915 7.65451e-11
+0.0749614 7.49655e-11
+0.0764606 7.67598e-11
+0.0779898 8.03435e-11
+0.0795496 8.98253e-11
+0.0811406 8.42917e-11
+0.0827634 8.14947e-11
+0.0844187 8.42243e-11
+0.086107 9.45045e-11
+0.0878292 8.34369e-11
+0.0895858 8.65772e-11
+0.0913775 9.86351e-11
+0.093205 1.00446e-10
+0.0950691 9.70402e-11
+0.0969705 1.02938e-10
+0.0989099 9.27395e-11
+0.100888 1.00381e-10
+0.102906 1.07738e-10
+0.104964 1.1164e-10
+0.107063 1.11981e-10
+0.109205 1.03645e-10
+0.111389 1.149e-10
+0.113616 1.18601e-10
+0.115889 1.08723e-10
+0.118207 1.27045e-10
+0.120571 1.17509e-10
+0.122982 1.16392e-10
+0.125442 1.449e-10
+0.127951 1.25291e-10
+0.13051 1.33162e-10
+0.13312 1.38082e-10
+0.135782 1.41062e-10
+0.138498 1.31528e-10
+0.141268 1.58389e-10
+0.144093 1.35067e-10
+0.146975 1.50803e-10
+0.149914 1.45794e-10
+0.152913 1.69395e-10
+0.155971 1.59678e-10
+0.15909 1.77206e-10
+0.162272 1.67133e-10
+0.165518 1.63962e-10
+0.168828 1.83134e-10
+0.172205 1.74598e-10
+0.175649 1.90632e-10
+0.179162 1.80696e-10
+0.182745 1.66732e-10
+0.1864 2.0039e-10
+0.190128 1.87718e-10
+0.19393 1.87025e-10
+0.197809 2.14928e-10
+0.201765 1.92115e-10
+0.2058 1.91348e-10
+0.209916 1.92842e-10
+0.214115 1.94479e-10
+0.218397 2.19374e-10
+0.222765 2.31704e-10
+0.22722 2.39812e-10
+0.231765 2.46499e-10
+0.2364 2.66725e-10
+0.241128 2.23963e-10
+0.245951 2.38675e-10
+0.25087 2.50093e-10
+0.255887 2.65023e-10
+0.261005 2.61914e-10
+0.266225 2.59042e-10
+0.271549 3.06809e-10
+0.27698 2.53012e-10
+0.28252 2.76082e-10
+0.28817 2.85557e-10
+0.293934 3.21422e-10
+0.299812 3.18399e-10
+0.305809 3.17969e-10
+0.311925 3.13752e-10
+0.318163 3.23519e-10
+0.324526 3.36392e-10
+0.331017 3.58028e-10
+0.337637 3.22437e-10
+0.34439 3.36294e-10
+0.351278 3.43807e-10
+0.358303 3.86766e-10
+0.36547 3.61988e-10
+0.372779 3.72315e-10
+0.380235 3.55512e-10
+0.387839 3.77394e-10
+0.395596 4.09144e-10
+0.403508 4.10948e-10
+0.411578 4.47926e-10
+0.41981 4.18602e-10
+0.428206 4.49205e-10
+0.43677 5.18576e-10
+0.445505 4.22862e-10
+0.454415 5.38677e-10
+0.463504 4.69636e-10
+0.472774 4.99812e-10
+0.482229 4.95544e-10
+0.491874 4.5725e-10
+0.501711 5.27692e-10
+0.511746 5.1977e-10
+0.52198 5.2619e-10
+0.53242 5.33903e-10
+0.543069 5.87392e-10
+0.55393 5.88981e-10
+0.565008 6.32102e-10
+0.576309 6.34445e-10
+0.587835 6.158e-10
+0.599592 7.12341e-10
+0.611583 6.52056e-10
+0.623815 5.81692e-10
+0.636291 6.64298e-10
+0.649017 6.56702e-10
+0.661997 7.52453e-10
+0.675237 6.835e-10
+0.688742 7.70193e-10
+0.702517 6.54505e-10
+0.716567 7.76904e-10
+0.730899 7.75895e-10
+0.745517 7.14374e-10
+0.760427 7.60168e-10
+0.775636 8.52134e-10
+0.791148 9.28903e-10
+0.806971 9.35428e-10
+0.823111 8.82777e-10
+0.839573 9.39554e-10
+0.856364 9.28113e-10
+0.873492 9.15232e-10
+0.890961 9.62034e-10
+0.908781 9.38568e-10
+0.926956 9.75404e-10
+0.945495 1.08032e-09
+0.964405 9.03365e-10
+0.983693 1.04598e-09
+1.00337 1.12602e-09
+1.02343 1.0716e-09
+1.0439 1.30444e-09
+1.06478 9.80931e-10
+1.08608 1.0557e-09
+1.1078 1.13539e-09
+1.12995 1.12135e-09
+1.15255 1.167e-09
+1.1756 1.13784e-09
+1.19912 1.20788e-09
+1.2231 1.21078e-09
+1.24756 1.26737e-09
+1.27251 1.20522e-09
+1.29796 1.23703e-09
+1.32392 1.61641e-09
+1.3504 1.33827e-09
+1.37741 1.34786e-09
+1.40496 1.50025e-09
+1.43306 1.36844e-09
+1.46172 1.31847e-09
+1.49095 1.4207e-09
+1.52077 1.4636e-09
+1.55119 1.53731e-09
+1.58221 1.4754e-09
+1.61385 1.53677e-09
+1.64613 1.59881e-09
+1.67905 1.81089e-09
+1.71263 1.63854e-09
+1.74689 1.67512e-09
+1.78182 1.86516e-09
+1.81746 1.75701e-09
+1.85381 1.98267e-09
+1.89089 2.05305e-09
+1.9287 1.97871e-09
+1.96728 2.03353e-09
+2.00662 2.05531e-09
+2.04676 2.43187e-09
+2.08769 2.01783e-09
+2.12945 2.24316e-09
+2.17203 2.16194e-09
+2.21547 2.23577e-09
+2.25978 2.09573e-09
+2.30498 2.33388e-09
+2.35108 2.38968e-09
+2.3981 2.47209e-09
+2.44606 2.20005e-09
+2.49498 2.60914e-09
+2.54488 2.44076e-09
+2.59578 2.48504e-09
+2.6477 2.77186e-09
+2.70065 2.80224e-09
+2.75466 2.8309e-09
+2.80976 3.05179e-09
+2.86595 3.33194e-09
+2.92327 2.97123e-09
+2.98174 2.97479e-09
+3.04137 2.82581e-09
+3.1022 3.0062e-09
+3.16424 2.9297e-09
+3.22753 3.08154e-09
+3.29208 3.64485e-09
+3.35792 3.51982e-09
+3.42508 3.08625e-09
+3.49358 3.92549e-09
+3.56345 3.5481e-09
+3.63472 3.6516e-09
+3.70742 3.53182e-09
+3.78156 3.49658e-09
+3.8572 3.9917e-09
+3.93434 4.20426e-09
+4.01303 4.2847e-09
+4.09329 4.24079e-09
+4.17515 4.44789e-09
+4.25866 4.69585e-09
+4.34383 4.11863e-09
+4.4307 4.43235e-09
+4.51932 4.28706e-09
+4.60971 4.72907e-09
+4.7019 4.84456e-09
+4.79594 4.94615e-09
+4.89186 5.31306e-09
+4.98969 4.56297e-09
+5.08949 5.34156e-09
+5.19128 5.16776e-09
+5.2951 5.20107e-09
+5.401 5.64286e-09
+5.50902 5.33276e-09
+5.61921 5.29741e-09
+5.73159 6.32402e-09
+5.84622 5.53872e-09
+5.96315 5.57346e-09
+6.08241 5.91814e-09
+6.20406 6.79597e-09
+6.32814 7.18583e-09
+6.4547 7.09053e-09
+6.58379 7.75615e-09
+6.71547 6.73743e-09
+6.84978 6.25952e-09
+6.98678 7.58174e-09
+7.12651 7.60643e-09
+7.26904 7.24138e-09
+7.41442 8.11786e-09
+7.56271 7.39748e-09
+7.71396 7.61207e-09
+7.86824 7.87142e-09
+8.02561 8.48667e-09
+8.18612 7.79815e-09
+8.34984 8.20767e-09
+8.51684 9.91013e-09
+8.68718 9.33458e-09
+8.86092 1.01379e-08
+9.03814 9.12093e-09
+9.2189 1.0435e-08
+9.40328 9.1488e-09
+9.59135 1.05467e-08
+9.78317 8.90826e-09
+9.97884 9.72894e-09
diff --git a/examples/03.IAXO/limits/IAXO.gp b/examples/03.IAXO/limits/IAXO.gp
new file mode 100644
index 00000000..47804c8e
--- /dev/null
+++ b/examples/03.IAXO/limits/IAXO.gp
@@ -0,0 +1,186 @@
+#!/usr/local/Cellar/gnuplot/6.0.0/bin/gnuplot
+#
+#
+# G N U P L O T
+# Version 6.0 patchlevel 0 last modified 2023-12-09
+#
+# Copyright (C) 1986-1993, 1998, 2004, 2007-2023
+# Thomas Williams, Colin Kelley and many others
+#
+# gnuplot home: http://www.gnuplot.info
+# faq, bugs, etc: type "help FAQ"
+# immediate help: type "help" (plot window: hit 'h')
+# set terminal qt 0 font "Sans,10" enhanced
+# set output
+unset clip points
+set clip one
+unset clip two
+unset clip radial
+set errorbars front 1.000000
+set border 31 front lt black linewidth 1.000 dashtype solid
+set cornerpoles
+set zdata
+set ydata
+set xdata
+set y2data
+set x2data
+set boxwidth
+set boxdepth 0
+set style fill empty border
+set style rectangle back fc bgnd fillstyle solid 1.00 border lt -1
+set style circle radius graph 0.02
+set style ellipse size graph 0.05, 0.03 angle 0 units xy
+set dummy x, y
+set format x "% h"
+set format y "% h"
+set format x2 "% h"
+set format y2 "% h"
+set format z "% h"
+set format cb "% h"
+set format r "% h"
+set ttics format "% h"
+set timefmt "%d/%m/%y,%H:%M"
+set angles radians
+set tics back
+unset grid
+unset raxis
+set theta counterclockwise right
+set style parallel front lt black linewidth 2.000 dashtype solid
+set key notitle
+set key fixed left top vertical Right noreverse enhanced autotitle nobox font ",16"
+set key noinvert samplen 4 spacing 1 width 0 height 0
+set key maxcolumns 0 maxrows 0
+set key noopaque
+unset label
+unset arrow
+unset style line
+unset style arrow
+set style histogram clustered gap 2 title textcolor lt -1
+unset object
+unset walls
+set style textbox transparent margins 1.0, 1.0 border lt -1 linewidth 1.0
+set offsets 0, 0, 0, 0
+set pointsize 1
+set pointintervalbox 1
+set encoding default
+unset parametric
+unset polar
+unset spiderplot
+unset decimalsign
+unset micro
+unset minussign
+set view 60, 30, 1, 1
+set view azimuth 0
+set rgbmax 255
+set samples 100, 100
+set isosamples 10, 10
+set surface implicit
+set surface
+set mapping cartesian
+set datafile separator whitespace
+set datafile nocolumnheaders
+unset hidden3d
+
+unset contour
+set cntrlabel format '%8.3g' font '' start 5 interval 20
+set cntrparam order 4
+set cntrparam linear
+set cntrparam levels 5
+set cntrparam levels auto
+set cntrparam firstlinetype 0 unsorted
+set cntrparam points 5
+set size ratio 0 1,1
+set origin 0,0
+set contourfill auto 5
+set contourfill palette
+set style data points
+set style function lines
+unset xzeroaxis
+unset yzeroaxis
+unset zzeroaxis
+unset x2zeroaxis
+unset y2zeroaxis
+set xyplane relative 0.5
+set tics scale 1, 0.5, 1, 1, 1
+set mxtics default
+set mytics default
+set mztics default
+set mx2tics default
+set my2tics default
+set mcbtics default
+set mrtics default
+set nomttics
+set xtics border in scale 1,0.5 mirror norotate autojustify
+set xtics norangelimit logscale autofreq font ",16"
+set ytics border in scale 1,0.5 mirror norotate autojustify
+set ytics norangelimit logscale autofreq font ",16"
+set ztics border in scale 1,0.5 nomirror norotate autojustify
+set ztics norangelimit autofreq font ",16"
+unset x2tics
+unset y2tics
+set cbtics border in scale 1,0.5 mirror norotate autojustify
+set cbtics norangelimit autofreq font ",16"
+set rtics axis in scale 1,0.5 nomirror norotate autojustify
+set rtics norangelimit autofreq font ",16"
+unset ttics
+set title ""
+set title font "" textcolor lt -1 norotate
+set timestamp bottom
+set timestamp ""
+set timestamp font "" textcolor lt -1 norotate
+set trange [ * : * ] noreverse nowriteback
+set urange [ * : * ] noreverse nowriteback
+set vrange [ * : * ] noreverse nowriteback
+set xlabel ""
+set xlabel font ",16" textcolor lt -1 norotate
+set x2label ""
+set x2label font "" textcolor lt -1 norotate
+set xrange [ * : * ] noreverse writeback
+set x2range [ * : * ] noreverse writeback
+set ylabel "g_{a{/Symbol g}} [10^{-10} GeV^{-1}]"
+set ylabel offset character 1, 0, 0 font ",16" textcolor lt -1 rotate
+set y2label ""
+set y2label font "" textcolor lt -1 rotate
+set yrange [ * : * ] noreverse writeback
+set y2range [ * : * ] noreverse writeback
+set zlabel ""
+set zlabel font "" textcolor lt -1 norotate
+set zrange [ * : * ] noreverse writeback
+set cblabel ""
+set cblabel font "" textcolor lt -1 rotate
+set cbrange [ * : * ] noreverse writeback
+set rlabel ""
+set rlabel font "" textcolor lt -1 norotate
+set rrange [ * : * ] noreverse writeback
+unset logscale
+set logscale y 10
+set logscale x 10
+unset jitter
+set zero 1e-08
+set lmargin -1
+set bmargin -1
+set rmargin -1
+set tmargin -1
+set locale "en_US.UTF-8"
+set pm3d explicit at s
+set pm3d scansautomatic
+set pm3d interpolate 1,1 flush begin noftriangles noborder corners2color mean
+set pm3d clip z
+set pm3d nolighting
+set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB
+set palette rgbformulae 7, 5, 15
+set colorbox default
+set colorbox vertical origin screen 0.9, 0.2 size screen 0.05, 0.6 front noinvert bdefault
+set style boxplot candles range 1.50 outliers pt 7 separation 1 labels auto unsorted
+set chi_shapes fraction 0.60
+set loadpath
+set fontpath
+set psdir
+set fit brief errorvariables nocovariancevariables errorscaling prescale nowrap v5
+GNUTERM = "qt"
+I = {0.0, 1.0}
+VoxelDistance = 0.0
+GridDistance = 0.0
+## Last datafile plotted: "IAXOPlus_Combined.csv"
+plot [0.001:10][:] 3.755*x title "KSVZ" w l lw 3, "BabyIAXO_Combined.csv" using ($1):(1e10*$2) title "BabyIAXO" w l lw 2, "IAXO_Combined.csv" using ($1):(1e10*$2) title "IAXO" w l lw 2, "IAXOPlus_Combined.csv" using ($1):(1e10*$2) title "IAXO+" w l lw 2
+# EOF
diff --git a/examples/03.IAXO/limits/IAXO.png b/examples/03.IAXO/limits/IAXO.png
new file mode 100644
index 00000000..965570ed
Binary files /dev/null and b/examples/03.IAXO/limits/IAXO.png differ
diff --git a/examples/03.IAXO/limits/IAXOPlus_Combined.csv b/examples/03.IAXO/limits/IAXOPlus_Combined.csv
new file mode 100644
index 00000000..5537fb57
--- /dev/null
+++ b/examples/03.IAXO/limits/IAXOPlus_Combined.csv
@@ -0,0 +1,466 @@
+0.001 3.05641e-12
+0.00102 3.05641e-12
+0.0010404 3.05641e-12
+0.00106121 3.05641e-12
+0.00108243 3.05641e-12
+0.00110408 3.05641e-12
+0.00112616 3.05641e-12
+0.00114869 3.05641e-12
+0.00117166 3.05641e-12
+0.00119509 3.05641e-12
+0.00121899 3.05641e-12
+0.00124337 3.05641e-12
+0.00126824 3.05641e-12
+0.00129361 3.05641e-12
+0.00131948 3.05641e-12
+0.00134587 3.05641e-12
+0.00137279 3.05656e-12
+0.00140024 3.05656e-12
+0.00142825 3.05656e-12
+0.00145681 3.05656e-12
+0.00148595 3.05656e-12
+0.00151567 3.05656e-12
+0.00154598 3.05656e-12
+0.0015769 3.05656e-12
+0.00160844 3.05656e-12
+0.00164061 3.05656e-12
+0.00167342 3.05656e-12
+0.00170689 3.05656e-12
+0.00174102 3.05656e-12
+0.00177584 3.05656e-12
+0.00181136 3.05656e-12
+0.00184759 3.05656e-12
+0.00188454 3.05671e-12
+0.00192223 3.05671e-12
+0.00196068 3.05671e-12
+0.00199989 3.05671e-12
+0.00203989 3.05671e-12
+0.00208069 3.05686e-12
+0.0021223 3.05686e-12
+0.00216474 3.05686e-12
+0.00220804 3.05686e-12
+0.0022522 3.05702e-12
+0.00229724 3.05702e-12
+0.00234319 3.05717e-12
+0.00239005 3.05717e-12
+0.00243785 3.05717e-12
+0.00248661 3.05732e-12
+0.00253634 3.05748e-12
+0.00258707 3.05748e-12
+0.00263881 3.05763e-12
+0.00269159 3.05778e-12
+0.00274542 3.05778e-12
+0.00280033 3.05794e-12
+0.00285633 3.05809e-12
+0.00291346 3.05824e-12
+0.00297173 3.05855e-12
+0.00303117 3.0587e-12
+0.00309179 3.05885e-12
+0.00315362 3.05916e-12
+0.0032167 3.05931e-12
+0.00328103 3.05962e-12
+0.00334665 3.05993e-12
+0.00341358 3.06023e-12
+0.00348186 3.06054e-12
+0.00355149 3.06084e-12
+0.00362252 3.0613e-12
+0.00369497 3.06176e-12
+0.00376887 3.06222e-12
+0.00384425 3.06268e-12
+0.00392114 3.06314e-12
+0.00399956 3.06375e-12
+0.00407955 3.06437e-12
+0.00416114 3.06513e-12
+0.00424436 3.06574e-12
+0.00432925 3.06651e-12
+0.00441584 3.06743e-12
+0.00450415 3.06835e-12
+0.00459424 3.06927e-12
+0.00468612 3.07035e-12
+0.00477984 3.07142e-12
+0.00487544 3.07265e-12
+0.00497295 3.07404e-12
+0.00507241 3.07542e-12
+0.00517386 3.0768e-12
+0.00527733 3.0785e-12
+0.00538288 3.08019e-12
+0.00549054 3.08219e-12
+0.00560035 3.0842e-12
+0.00571235 3.08636e-12
+0.0058266 3.08867e-12
+0.00594313 3.09115e-12
+0.006062 3.09393e-12
+0.00618324 3.09687e-12
+0.0063069 3.09997e-12
+0.00643304 3.10338e-12
+0.0065617 3.10695e-12
+0.00669293 3.11084e-12
+0.00682679 3.11504e-12
+0.00696333 3.11941e-12
+0.00710259 3.12425e-12
+0.00724465 3.12922e-12
+0.00738954 3.1347e-12
+0.00753733 3.14035e-12
+0.00768808 3.14648e-12
+0.00784184 3.1531e-12
+0.00799867 3.16004e-12
+0.00815865 3.16732e-12
+0.00832182 3.17525e-12
+0.00848826 3.18351e-12
+0.00865802 3.19228e-12
+0.00883118 3.20171e-12
+0.00900781 3.21166e-12
+0.00918796 3.22212e-12
+0.00937172 3.23325e-12
+0.00955916 3.24508e-12
+0.00975034 3.2576e-12
+0.00994535 3.27073e-12
+0.0101443 3.28483e-12
+0.0103471 3.29965e-12
+0.0105541 3.31552e-12
+0.0107652 3.33215e-12
+0.0109805 3.34985e-12
+0.0112001 3.3685e-12
+0.0114241 3.3881e-12
+0.0116526 3.40883e-12
+0.0118856 3.43046e-12
+0.0121233 3.45318e-12
+0.0123658 3.47675e-12
+0.0126131 3.50135e-12
+0.0128654 3.527e-12
+0.0131227 3.55338e-12
+0.0133851 3.58067e-12
+0.0136528 3.60898e-12
+0.0139259 3.63798e-12
+0.0142044 3.66793e-12
+0.0144885 3.69851e-12
+0.0147783 3.72967e-12
+0.0150738 3.76114e-12
+0.0153753 3.79268e-12
+0.0156828 3.82334e-12
+0.0159965 3.85309e-12
+0.0163164 3.88132e-12
+0.0166427 3.90732e-12
+0.0169756 3.93084e-12
+0.0173151 3.95133e-12
+0.0176614 3.96836e-12
+0.0180146 3.98128e-12
+0.0183749 3.99005e-12
+0.0187424 3.99444e-12
+0.0191173 3.99464e-12
+0.0194996 3.99165e-12
+0.0198896 3.98566e-12
+0.0202874 3.9779e-12
+0.0206931 3.97154e-12
+0.021107 3.97154e-12
+0.0215291 3.98427e-12
+0.0219597 4.01527e-12
+0.0223989 4.0668e-12
+0.0228469 4.13705e-12
+0.0233038 4.22148e-12
+0.0237699 4.3168e-12
+0.0242453 4.42008e-12
+0.0247302 4.52813e-12
+0.0252248 4.6357e-12
+0.0257293 4.73812e-12
+0.0262439 4.82974e-12
+0.0267688 4.90115e-12
+0.0273042 4.93978e-12
+0.0278502 4.93805e-12
+0.0284072 4.89209e-12
+0.0289754 4.80397e-12
+0.0295549 4.68441e-12
+0.030146 4.54265e-12
+0.0307489 4.39499e-12
+0.0313639 4.26338e-12
+0.0319912 4.1753e-12
+0.032631 4.17885e-12
+0.0332836 4.29376e-12
+0.0339493 4.48038e-12
+0.0346283 4.70177e-12
+0.0353208 4.91883e-12
+0.0360272 5.08756e-12
+0.0367478 5.15595e-12
+0.0374827 5.10183e-12
+0.0382324 4.92055e-12
+0.0389971 4.65941e-12
+0.039777 4.3895e-12
+0.0405725 4.21052e-12
+0.041384 4.26423e-12
+0.0422117 4.55106e-12
+0.0430559 4.91342e-12
+0.043917 5.22368e-12
+0.0447954 5.31268e-12
+0.0456913 5.10617e-12
+0.0466051 4.71213e-12
+0.0475372 4.33085e-12
+0.0484879 4.23798e-12
+0.0494577 4.60924e-12
+0.0504468 5.11819e-12
+0.0514558 5.41649e-12
+0.0524849 5.20725e-12
+0.0535346 4.66477e-12
+0.0546053 4.23862e-12
+0.0556974 4.45804e-12
+0.0568113 5.01395e-12
+0.0579476 5.08629e-12
+0.0591065 4.45447e-12
+0.0602886 3.77622e-12
+0.0614944 3.76754e-12
+0.0627243 4.53857e-12
+0.0639788 5.07841e-12
+0.0652584 4.53675e-12
+0.0665635 3.95509e-12
+0.0678948 4.63316e-12
+0.0692527 5.51143e-12
+0.0706378 4.94893e-12
+0.0720505 4.27127e-12
+0.0734915 5.29967e-12
+0.0749614 5.89826e-12
+0.0764606 4.7664e-12
+0.0779898 5.14873e-12
+0.0795496 6.41016e-12
+0.0811406 5.21741e-12
+0.0827634 5.45236e-12
+0.0844187 6.82448e-12
+0.086107 5.28248e-12
+0.0878292 6.38968e-12
+0.0895858 6.71179e-12
+0.0913775 5.54488e-12
+0.093205 7.6528e-12
+0.0950691 5.71806e-12
+0.0969705 7.72508e-12
+0.0989099 6.3002e-12
+0.100888 7.7885e-12
+0.102906 6.65663e-12
+0.104964 8.24808e-12
+0.107063 6.62243e-12
+0.109205 9.05401e-12
+0.111389 6.60226e-12
+0.113616 9.03276e-12
+0.115889 8.23283e-12
+0.118207 7.36343e-12
+0.120571 1.00249e-11
+0.122982 8.73084e-12
+0.125442 7.51063e-12
+0.127951 9.6214e-12
+0.13051 1.10141e-11
+0.13312 9.6065e-12
+0.135782 8.18152e-12
+0.138498 8.40421e-12
+0.141268 9.42567e-12
+0.144093 1.04432e-11
+0.146975 1.11934e-11
+0.149914 1.15953e-11
+0.152913 1.15623e-11
+0.155971 1.1051e-11
+0.15909 1.01614e-11
+0.162272 9.60506e-12
+0.165518 1.10416e-11
+0.168828 1.42655e-11
+0.172205 1.29039e-11
+0.175649 1.03989e-11
+0.179162 1.51366e-11
+0.182745 1.17859e-11
+0.1864 1.47741e-11
+0.190128 1.18758e-11
+0.19393 1.66536e-11
+0.197809 1.26775e-11
+0.201765 1.2515e-11
+0.2058 1.53946e-11
+0.209916 1.758e-11
+0.214115 1.8367e-11
+0.218397 1.8515e-11
+0.222765 1.76028e-11
+0.22722 1.49508e-11
+0.231765 1.38799e-11
+0.2364 2.00387e-11
+0.241128 1.49254e-11
+0.245951 2.08979e-11
+0.25087 1.51783e-11
+0.255887 4.02945e-11
+0.261005 4.43413e-11
+0.266225 4.60129e-11
+0.271549 4.87146e-11
+0.27698 4.92584e-11
+0.28252 5.17838e-11
+0.28817 5.16467e-11
+0.293934 5.28392e-11
+0.299812 5.58397e-11
+0.305809 5.67746e-11
+0.311925 5.77726e-11
+0.318163 5.9351e-11
+0.324526 5.98511e-11
+0.331017 6.24983e-11
+0.337637 6.37292e-11
+0.34439 6.4209e-11
+0.351278 6.51942e-11
+0.358303 6.92347e-11
+0.36547 6.76045e-11
+0.372779 7.07673e-11
+0.380235 7.19268e-11
+0.387839 7.41194e-11
+0.395596 7.47783e-11
+0.403508 7.79765e-11
+0.411578 7.71408e-11
+0.41981 8.1072e-11
+0.428206 8.28341e-11
+0.43677 8.12018e-11
+0.445505 8.31787e-11
+0.454415 8.6141e-11
+0.463504 8.73556e-11
+0.472774 9.11054e-11
+0.482229 9.28462e-11
+0.491874 9.60289e-11
+0.501711 9.71713e-11
+0.511746 9.61346e-11
+0.52198 9.91642e-11
+0.53242 1.00718e-10
+0.543069 1.03314e-10
+0.55393 1.04373e-10
+0.565008 1.0606e-10
+0.576309 1.08327e-10
+0.587835 1.10574e-10
+0.599592 1.12622e-10
+0.611583 1.1711e-10
+0.623815 1.18281e-10
+0.636291 1.22157e-10
+0.649017 1.25686e-10
+0.661997 1.26689e-10
+0.675237 1.27988e-10
+0.688742 1.3432e-10
+0.702517 1.36619e-10
+0.716567 1.38442e-10
+0.730899 1.4038e-10
+0.745517 1.44221e-10
+0.760427 1.46445e-10
+0.775636 1.50164e-10
+0.791148 1.52998e-10
+0.806971 1.54166e-10
+0.823111 1.54289e-10
+0.839573 1.59646e-10
+0.856364 1.67091e-10
+0.873492 1.67744e-10
+0.890961 1.70355e-10
+0.908781 1.71551e-10
+0.926956 1.78201e-10
+0.945495 1.82311e-10
+0.964405 1.86223e-10
+0.983693 1.88848e-10
+1.00337 1.90346e-10
+1.02343 1.96129e-10
+1.0439 1.96316e-10
+1.06478 2.06061e-10
+1.08608 2.06938e-10
+1.1078 2.19253e-10
+1.12995 2.16416e-10
+1.15255 2.26056e-10
+1.1756 2.22089e-10
+1.19912 2.37689e-10
+1.2231 2.3381e-10
+1.24756 2.43449e-10
+1.27251 2.37594e-10
+1.29796 2.5072e-10
+1.32392 2.6211e-10
+1.3504 2.67112e-10
+1.37741 2.65633e-10
+1.40496 2.69513e-10
+1.43306 2.80788e-10
+1.46172 2.81139e-10
+1.49095 2.91487e-10
+1.52077 2.948e-10
+1.55119 2.95419e-10
+1.58221 3.04653e-10
+1.61385 3.16858e-10
+1.64613 3.19755e-10
+1.67905 3.24304e-10
+1.71263 3.32083e-10
+1.74689 3.39875e-10
+1.78182 3.49597e-10
+1.81746 3.52802e-10
+1.85381 3.64659e-10
+1.89089 3.66689e-10
+1.9287 3.71459e-10
+1.96728 3.85443e-10
+2.00662 3.82333e-10
+2.04676 3.9387e-10
+2.08769 3.99684e-10
+2.12945 4.16889e-10
+2.17203 4.17556e-10
+2.21547 4.23645e-10
+2.25978 4.4108e-10
+2.30498 4.37992e-10
+2.35108 4.48441e-10
+2.3981 4.59921e-10
+2.44606 4.64777e-10
+2.49498 4.92087e-10
+2.54488 4.9364e-10
+2.59578 4.9768e-10
+2.6477 5.22859e-10
+2.70065 5.15551e-10
+2.75466 5.25769e-10
+2.80976 5.4035e-10
+2.86595 5.5197e-10
+2.92327 5.62869e-10
+2.98174 5.76076e-10
+3.04137 5.95213e-10
+3.1022 6.06207e-10
+3.16424 6.02911e-10
+3.22753 6.42234e-10
+3.29208 6.47134e-10
+3.35792 6.59994e-10
+3.42508 6.4942e-10
+3.49358 6.70674e-10
+3.56345 6.89059e-10
+3.63472 7.10171e-10
+3.70742 7.3792e-10
+3.78156 7.29282e-10
+3.8572 7.28151e-10
+3.93434 7.61309e-10
+4.01303 7.78148e-10
+4.09329 7.94465e-10
+4.17515 8.12498e-10
+4.25866 8.41379e-10
+4.34383 8.36744e-10
+4.4307 8.60398e-10
+4.51932 8.45893e-10
+4.60971 9.1773e-10
+4.7019 8.99893e-10
+4.79594 9.34774e-10
+4.89186 9.36646e-10
+4.98969 9.71898e-10
+5.08949 9.68163e-10
+5.19128 9.94364e-10
+5.2951 1.03363e-09
+5.401 1.03959e-09
+5.50902 1.07005e-09
+5.61921 1.0935e-09
+5.73159 1.11086e-09
+5.84622 1.11895e-09
+5.96315 1.14618e-09
+6.08241 1.16583e-09
+6.20406 1.20612e-09
+6.32814 1.23771e-09
+6.4547 1.2379e-09
+6.58379 1.28113e-09
+6.71547 1.26642e-09
+6.84978 1.30372e-09
+6.98678 1.35617e-09
+7.12651 1.38961e-09
+7.26904 1.40966e-09
+7.41442 1.43677e-09
+7.56271 1.45579e-09
+7.71396 1.4785e-09
+7.86824 1.51631e-09
+8.02561 1.55396e-09
+8.18612 1.58013e-09
+8.34984 1.59778e-09
+8.51684 1.66706e-09
+8.68718 1.69043e-09
+8.86092 1.7434e-09
+9.03814 1.71667e-09
+9.2189 1.78312e-09
+9.40328 1.84337e-09
+9.59135 1.83028e-09
+9.78317 1.88268e-09
+9.97884 1.96039e-09
diff --git a/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv b/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv
new file mode 100644
index 00000000..fdf6a629
--- /dev/null
+++ b/examples/03.IAXO/limits/IAXOPlus_Vacuum.csv
@@ -0,0 +1,466 @@
+0.001 2.16813e-12
+0.00102 2.16813e-12
+0.0010404 2.16813e-12
+0.00106121 2.16813e-12
+0.00108243 2.16813e-12
+0.00110408 2.16813e-12
+0.00112616 2.16813e-12
+0.00114869 2.16813e-12
+0.00117166 2.16813e-12
+0.00119509 2.16813e-12
+0.00121899 2.16813e-12
+0.00124337 2.16813e-12
+0.00126824 2.16813e-12
+0.00129361 2.16813e-12
+0.00131948 2.16813e-12
+0.00134587 2.16813e-12
+0.00137279 2.16813e-12
+0.00140024 2.16813e-12
+0.00142825 2.16813e-12
+0.00145681 2.16824e-12
+0.00148595 2.16824e-12
+0.00151567 2.16824e-12
+0.00154598 2.16824e-12
+0.0015769 2.16824e-12
+0.00160844 2.16824e-12
+0.00164061 2.16824e-12
+0.00167342 2.16824e-12
+0.00170689 2.16835e-12
+0.00174102 2.16835e-12
+0.00177584 2.16835e-12
+0.00181136 2.16835e-12
+0.00184759 2.16835e-12
+0.00188454 2.16846e-12
+0.00192223 2.16846e-12
+0.00196068 2.16846e-12
+0.00199989 2.16846e-12
+0.00203989 2.16857e-12
+0.00208069 2.16857e-12
+0.0021223 2.16857e-12
+0.00216474 2.16868e-12
+0.00220804 2.16868e-12
+0.0022522 2.16878e-12
+0.00229724 2.16878e-12
+0.00234319 2.16889e-12
+0.00239005 2.16889e-12
+0.00243785 2.169e-12
+0.00248661 2.16911e-12
+0.00253634 2.16922e-12
+0.00258707 2.16922e-12
+0.00263881 2.16933e-12
+0.00269159 2.16943e-12
+0.00274542 2.16954e-12
+0.00280033 2.16965e-12
+0.00285633 2.16987e-12
+0.00291346 2.16998e-12
+0.00297173 2.17009e-12
+0.00303117 2.1703e-12
+0.00309179 2.17041e-12
+0.00315362 2.17063e-12
+0.0032167 2.17085e-12
+0.00328103 2.17106e-12
+0.00334665 2.17128e-12
+0.00341358 2.17161e-12
+0.00348186 2.17182e-12
+0.00355149 2.17215e-12
+0.00362252 2.17247e-12
+0.00369497 2.1728e-12
+0.00376887 2.17324e-12
+0.00384425 2.17367e-12
+0.00392114 2.17411e-12
+0.00399956 2.17454e-12
+0.00407955 2.17498e-12
+0.00416114 2.17552e-12
+0.00424436 2.17617e-12
+0.00432925 2.17683e-12
+0.00441584 2.17748e-12
+0.00450415 2.17813e-12
+0.00459424 2.17889e-12
+0.00468612 2.17977e-12
+0.00477984 2.18064e-12
+0.00487544 2.18162e-12
+0.00497295 2.18271e-12
+0.00507241 2.1838e-12
+0.00517386 2.18501e-12
+0.00527733 2.18621e-12
+0.00538288 2.18763e-12
+0.00549054 2.18905e-12
+0.00560035 2.19069e-12
+0.00571235 2.19245e-12
+0.0058266 2.1942e-12
+0.00594313 2.19618e-12
+0.006062 2.19838e-12
+0.00618324 2.20069e-12
+0.0063069 2.20311e-12
+0.00643304 2.20575e-12
+0.0065617 2.20851e-12
+0.00669293 2.21159e-12
+0.00682679 2.21491e-12
+0.00696333 2.21834e-12
+0.00710259 2.22212e-12
+0.00724465 2.22601e-12
+0.00738954 2.23036e-12
+0.00753733 2.23482e-12
+0.00768808 2.23963e-12
+0.00784184 2.24479e-12
+0.00799867 2.2503e-12
+0.00815865 2.25616e-12
+0.00832182 2.26237e-12
+0.00848826 2.26894e-12
+0.00865802 2.27599e-12
+0.00883118 2.28351e-12
+0.00900781 2.2914e-12
+0.00918796 2.2999e-12
+0.00937172 2.30889e-12
+0.00955916 2.31843e-12
+0.00975034 2.32866e-12
+0.00994535 2.33951e-12
+0.0101443 2.35101e-12
+0.0103471 2.36338e-12
+0.0105541 2.37654e-12
+0.0107652 2.39048e-12
+0.0109805 2.40547e-12
+0.0112001 2.42134e-12
+0.0114241 2.43823e-12
+0.0116526 2.45622e-12
+0.0118856 2.47533e-12
+0.0121233 2.49559e-12
+0.0123658 2.51715e-12
+0.0126131 2.53984e-12
+0.0128654 2.56383e-12
+0.0131227 2.58934e-12
+0.0133851 2.61629e-12
+0.0136528 2.64494e-12
+0.0139259 2.6754e-12
+0.0142044 2.70798e-12
+0.0144885 2.74286e-12
+0.0147783 2.78008e-12
+0.0150738 2.81984e-12
+0.0153753 2.86232e-12
+0.0156828 2.9074e-12
+0.0159965 2.95519e-12
+0.0163164 3.00571e-12
+0.0166427 3.05901e-12
+0.0169756 3.11535e-12
+0.0173151 3.17557e-12
+0.0176614 3.23973e-12
+0.0180146 3.30824e-12
+0.0183749 3.38167e-12
+0.0187424 3.46044e-12
+0.0191173 3.54469e-12
+0.0194996 3.63506e-12
+0.0198896 3.73117e-12
+0.0202874 3.83234e-12
+0.0206931 3.93694e-12
+0.021107 4.0449e-12
+0.0215291 4.15842e-12
+0.0219597 4.28047e-12
+0.0223989 4.41349e-12
+0.0228469 4.55676e-12
+0.0233038 4.70742e-12
+0.0237699 4.86014e-12
+0.0242453 5.00693e-12
+0.0247302 5.14333e-12
+0.0252248 5.27825e-12
+0.0257293 5.42354e-12
+0.0262439 5.57909e-12
+0.0267688 5.73582e-12
+0.0273042 5.88442e-12
+0.0278502 6.00901e-12
+0.0284072 6.10487e-12
+0.0289754 6.17797e-12
+0.0295549 6.24131e-12
+0.030146 6.33907e-12
+0.0307489 6.4788e-12
+0.0313639 6.59764e-12
+0.0319912 6.63602e-12
+0.032631 6.64068e-12
+0.0332836 6.70944e-12
+0.0339493 6.8426e-12
+0.0346283 6.99954e-12
+0.0353208 7.12741e-12
+0.0360272 7.1913e-12
+0.0367478 7.26976e-12
+0.0374827 7.43224e-12
+0.0382324 7.66889e-12
+0.0389971 7.96495e-12
+0.039777 8.08858e-12
+0.0405725 8.10721e-12
+0.041384 8.39791e-12
+0.0422117 8.86184e-12
+0.0430559 9.00614e-12
+0.043917 8.9859e-12
+0.0447954 9.12948e-12
+0.0456913 9.43274e-12
+0.0466051 9.75194e-12
+0.0475372 9.64453e-12
+0.0484879 9.58251e-12
+0.0494577 1.00234e-11
+0.0504468 1.05459e-11
+0.0514558 1.01533e-11
+0.0524849 1.05507e-11
+0.0535346 1.11342e-11
+0.0546053 1.14036e-11
+0.0556974 1.118e-11
+0.0568113 1.15571e-11
+0.0579476 1.24148e-11
+0.0591065 1.16383e-11
+0.0602886 1.20222e-11
+0.0614944 1.30774e-11
+0.0627243 1.24939e-11
+0.0639788 1.29557e-11
+0.0652584 1.39613e-11
+0.0665635 1.31544e-11
+0.0678948 1.36667e-11
+0.0692527 1.46798e-11
+0.0706378 1.37893e-11
+0.0720505 1.49635e-11
+0.0734915 1.51533e-11
+0.0749614 1.46219e-11
+0.0764606 1.71493e-11
+0.0779898 1.49538e-11
+0.0795496 1.69426e-11
+0.0811406 1.67488e-11
+0.0827634 1.65424e-11
+0.0844187 1.84822e-11
+0.086107 1.64978e-11
+0.0878292 1.96802e-11
+0.0895858 1.80827e-11
+0.0913775 1.9463e-11
+0.093205 1.82544e-11
+0.0950691 2.07874e-11
+0.0969705 1.83836e-11
+0.0989099 2.03665e-11
+0.100888 2.04891e-11
+0.102906 2.4294e-11
+0.104964 2.08488e-11
+0.107063 2.2517e-11
+0.109205 2.20226e-11
+0.111389 2.41825e-11
+0.113616 2.51819e-11
+0.115889 2.34953e-11
+0.118207 2.60464e-11
+0.120571 2.33641e-11
+0.122982 2.30877e-11
+0.125442 2.60673e-11
+0.127951 2.502e-11
+0.13051 2.54567e-11
+0.13312 3.06878e-11
+0.135782 2.59502e-11
+0.138498 2.68539e-11
+0.141268 2.76089e-11
+0.144093 3.04524e-11
+0.146975 2.87609e-11
+0.149914 3.08509e-11
+0.152913 3.04113e-11
+0.155971 3.05653e-11
+0.15909 3.68536e-11
+0.162272 3.26787e-11
+0.165518 3.44878e-11
+0.168828 3.35195e-11
+0.172205 4.01296e-11
+0.175649 3.43535e-11
+0.179162 3.56946e-11
+0.182745 3.70134e-11
+0.1864 3.64431e-11
+0.190128 3.59472e-11
+0.19393 3.90605e-11
+0.197809 3.91446e-11
+0.201765 4.31072e-11
+0.2058 3.98456e-11
+0.209916 4.28064e-11
+0.214115 4.21037e-11
+0.218397 4.21206e-11
+0.222765 4.2207e-11
+0.22722 4.56713e-11
+0.231765 4.6335e-11
+0.2364 4.47512e-11
+0.241128 4.51694e-11
+0.245951 5.40256e-11
+0.25087 5.17242e-11
+0.255887 5.54252e-11
+0.261005 5.59376e-11
+0.266225 5.29636e-11
+0.271549 5.47682e-11
+0.27698 5.4574e-11
+0.28252 5.96539e-11
+0.28817 5.9046e-11
+0.293934 5.78854e-11
+0.299812 6.3054e-11
+0.305809 6.33669e-11
+0.311925 6.44858e-11
+0.318163 6.93283e-11
+0.324526 6.49258e-11
+0.331017 7.07142e-11
+0.337637 6.90169e-11
+0.34439 6.7227e-11
+0.351278 7.01653e-11
+0.358303 8.48075e-11
+0.36547 7.18872e-11
+0.372779 7.48719e-11
+0.380235 8.03114e-11
+0.387839 8.41864e-11
+0.395596 7.67829e-11
+0.403508 9.19062e-11
+0.411578 7.81404e-11
+0.41981 9.11146e-11
+0.428206 9.14341e-11
+0.43677 8.35998e-11
+0.445505 8.7033e-11
+0.454415 9.26283e-11
+0.463504 9.7322e-11
+0.472774 9.25449e-11
+0.482229 1.01623e-10
+0.491874 1.0641e-10
+0.501711 1.0025e-10
+0.511746 1.02179e-10
+0.52198 1.0734e-10
+0.53242 1.04196e-10
+0.543069 1.12335e-10
+0.55393 1.07965e-10
+0.565008 1.04988e-10
+0.576309 1.06799e-10
+0.587835 1.12509e-10
+0.599592 1.09742e-10
+0.611583 1.33723e-10
+0.623815 1.14837e-10
+0.636291 1.25448e-10
+0.649017 1.40865e-10
+0.661997 1.35697e-10
+0.675237 1.33984e-10
+0.688742 1.41946e-10
+0.702517 1.43215e-10
+0.716567 1.51817e-10
+0.730899 1.44344e-10
+0.745517 1.55005e-10
+0.760427 1.68642e-10
+0.775636 1.65213e-10
+0.791148 1.57505e-10
+0.806971 1.54629e-10
+0.823111 1.60735e-10
+0.839573 1.6003e-10
+0.856364 1.76905e-10
+0.873492 1.77215e-10
+0.890961 1.8339e-10
+0.908781 1.71903e-10
+0.926956 1.97556e-10
+0.945495 1.96787e-10
+0.964405 1.95532e-10
+0.983693 2.01445e-10
+1.00337 1.99702e-10
+1.02343 2.1786e-10
+1.0439 2.06267e-10
+1.06478 2.09935e-10
+1.08608 2.07664e-10
+1.1078 2.43692e-10
+1.12995 2.20882e-10
+1.15255 2.41569e-10
+1.1756 2.27644e-10
+1.19912 2.55721e-10
+1.2231 2.53126e-10
+1.24756 2.54586e-10
+1.27251 2.36586e-10
+1.29796 2.66458e-10
+1.32392 3.06104e-10
+1.3504 2.78272e-10
+1.37741 2.73075e-10
+1.40496 2.76662e-10
+1.43306 2.92027e-10
+1.46172 3.0444e-10
+1.49095 2.98083e-10
+1.52077 3.07254e-10
+1.55119 2.99158e-10
+1.58221 3.15972e-10
+1.61385 3.45997e-10
+1.64613 3.53314e-10
+1.67905 3.57044e-10
+1.71263 3.46552e-10
+1.74689 3.6455e-10
+1.78182 3.85954e-10
+1.81746 3.71626e-10
+1.85381 3.67956e-10
+1.89089 3.74649e-10
+1.9287 3.85617e-10
+1.96728 4.18246e-10
+2.00662 3.93359e-10
+2.04676 4.16722e-10
+2.08769 4.1691e-10
+2.12945 4.62851e-10
+2.17203 4.36309e-10
+2.21547 4.1789e-10
+2.25978 4.89901e-10
+2.30498 4.59347e-10
+2.35108 4.69448e-10
+2.3981 4.56747e-10
+2.44606 4.74428e-10
+2.49498 5.1977e-10
+2.54488 5.07392e-10
+2.59578 5.16661e-10
+2.6477 5.50041e-10
+2.70065 4.90515e-10
+2.75466 5.64334e-10
+2.80976 5.99065e-10
+2.86595 5.53075e-10
+2.92327 5.78154e-10
+2.98174 6.29421e-10
+3.04137 6.12912e-10
+3.1022 6.90992e-10
+3.16424 6.36034e-10
+3.22753 6.94352e-10
+3.29208 7.50836e-10
+3.35792 7.21338e-10
+3.42508 6.98461e-10
+3.49358 7.05111e-10
+3.56345 7.27787e-10
+3.63472 7.69269e-10
+3.70742 8.28665e-10
+3.78156 7.86992e-10
+3.8572 7.62642e-10
+3.93434 8.13108e-10
+4.01303 8.28251e-10
+4.09329 7.95459e-10
+4.17515 9.11259e-10
+4.25866 9.3585e-10
+4.34383 9.2881e-10
+4.4307 9.03229e-10
+4.51932 9.05309e-10
+4.60971 1.01088e-09
+4.7019 9.69422e-10
+4.79594 1.06062e-09
+4.89186 9.61361e-10
+4.98969 1.02575e-09
+5.08949 9.77601e-10
+5.19128 1.00992e-09
+5.2951 1.12771e-09
+5.401 1.06578e-09
+5.50902 1.17414e-09
+5.61921 1.17226e-09
+5.73159 1.13375e-09
+5.84622 1.15527e-09
+5.96315 1.16589e-09
+6.08241 1.24333e-09
+6.20406 1.23382e-09
+6.32814 1.43699e-09
+6.4547 1.26648e-09
+6.58379 1.35502e-09
+6.71547 1.28685e-09
+6.84978 1.34148e-09
+6.98678 1.51434e-09
+7.12651 1.48703e-09
+7.26904 1.58615e-09
+7.41442 1.52635e-09
+7.56271 1.48005e-09
+7.71396 1.62703e-09
+7.86824 1.59506e-09
+8.02561 1.65766e-09
+8.18612 1.6906e-09
+8.34984 1.72761e-09
+8.51684 1.88071e-09
+8.68718 1.80808e-09
+8.86092 1.98704e-09
+9.03814 1.81706e-09
+9.2189 1.85651e-09
+9.40328 2.07679e-09
+9.59135 1.87967e-09
+9.78317 1.90075e-09
+9.97884 2.02096e-09
diff --git a/examples/03.IAXO/limits/IAXO_Combined.csv b/examples/03.IAXO/limits/IAXO_Combined.csv
new file mode 100644
index 00000000..b4f64889
--- /dev/null
+++ b/examples/03.IAXO/limits/IAXO_Combined.csv
@@ -0,0 +1,466 @@
+0.001 5.07892e-12
+0.00102 5.07892e-12
+0.0010404 5.07892e-12
+0.00106121 5.07892e-12
+0.00108243 5.07892e-12
+0.00110408 5.07892e-12
+0.00112616 5.07892e-12
+0.00114869 5.07892e-12
+0.00117166 5.07892e-12
+0.00119509 5.07892e-12
+0.00121899 5.07892e-12
+0.00124337 5.07892e-12
+0.00126824 5.07892e-12
+0.00129361 5.07892e-12
+0.00131948 5.07892e-12
+0.00134587 5.07892e-12
+0.00137279 5.07892e-12
+0.00140024 5.07892e-12
+0.00142825 5.07892e-12
+0.00145681 5.07892e-12
+0.00148595 5.07892e-12
+0.00151567 5.07892e-12
+0.00154598 5.07892e-12
+0.0015769 5.07892e-12
+0.00160844 5.07892e-12
+0.00164061 5.07892e-12
+0.00167342 5.07892e-12
+0.00170689 5.07892e-12
+0.00174102 5.07892e-12
+0.00177584 5.07892e-12
+0.00181136 5.07892e-12
+0.00184759 5.07892e-12
+0.00188454 5.07917e-12
+0.00192223 5.07917e-12
+0.00196068 5.07917e-12
+0.00199989 5.07917e-12
+0.00203989 5.07917e-12
+0.00208069 5.07917e-12
+0.0021223 5.07943e-12
+0.00216474 5.07943e-12
+0.00220804 5.07943e-12
+0.0022522 5.07968e-12
+0.00229724 5.07968e-12
+0.00234319 5.07968e-12
+0.00239005 5.07994e-12
+0.00243785 5.07994e-12
+0.00248661 5.08019e-12
+0.00253634 5.08019e-12
+0.00258707 5.08044e-12
+0.00263881 5.08044e-12
+0.00269159 5.0807e-12
+0.00274542 5.08095e-12
+0.00280033 5.08121e-12
+0.00285633 5.08146e-12
+0.00291346 5.08171e-12
+0.00297173 5.08197e-12
+0.00303117 5.08222e-12
+0.00309179 5.08248e-12
+0.00315362 5.08299e-12
+0.0032167 5.08324e-12
+0.00328103 5.08375e-12
+0.00334665 5.08426e-12
+0.00341358 5.08451e-12
+0.00348186 5.08527e-12
+0.00355149 5.08578e-12
+0.00362252 5.08629e-12
+0.00369497 5.08705e-12
+0.00376887 5.08782e-12
+0.00384425 5.08858e-12
+0.00392114 5.08934e-12
+0.00399956 5.09036e-12
+0.00407955 5.09138e-12
+0.00416114 5.0924e-12
+0.00424436 5.09342e-12
+0.00432925 5.09469e-12
+0.00441584 5.09597e-12
+0.00450415 5.0975e-12
+0.00459424 5.09903e-12
+0.00468612 5.10081e-12
+0.00477984 5.1026e-12
+0.00487544 5.10438e-12
+0.00497295 5.10642e-12
+0.00507241 5.10872e-12
+0.00517386 5.11102e-12
+0.00527733 5.11358e-12
+0.00538288 5.11639e-12
+0.00549054 5.11921e-12
+0.00560035 5.12254e-12
+0.00571235 5.12587e-12
+0.0058266 5.12946e-12
+0.00594313 5.13331e-12
+0.006062 5.13767e-12
+0.00618324 5.14204e-12
+0.0063069 5.14693e-12
+0.00643304 5.15234e-12
+0.0065617 5.15801e-12
+0.00669293 5.16394e-12
+0.00682679 5.17041e-12
+0.00696333 5.17739e-12
+0.00710259 5.18464e-12
+0.00724465 5.19269e-12
+0.00738954 5.20101e-12
+0.00753733 5.21012e-12
+0.00768808 5.2195e-12
+0.00784184 5.22969e-12
+0.00799867 5.24042e-12
+0.00815865 5.25197e-12
+0.00832182 5.26402e-12
+0.00848826 5.27666e-12
+0.00865802 5.29014e-12
+0.00883118 5.30444e-12
+0.00900781 5.31932e-12
+0.00918796 5.33504e-12
+0.00937172 5.35187e-12
+0.00955916 5.3693e-12
+0.00975034 5.38759e-12
+0.00994535 5.40702e-12
+0.0101443 5.42706e-12
+0.0103471 5.44855e-12
+0.0105541 5.47066e-12
+0.0107652 5.49424e-12
+0.0109805 5.5186e-12
+0.0112001 5.54433e-12
+0.0114241 5.57101e-12
+0.0116526 5.59894e-12
+0.0118856 5.62785e-12
+0.0121233 5.65748e-12
+0.0123658 5.68811e-12
+0.0126131 5.7192e-12
+0.0128654 5.75075e-12
+0.0131227 5.78232e-12
+0.0133851 5.81363e-12
+0.0136528 5.84424e-12
+0.0139259 5.87413e-12
+0.0142044 5.90269e-12
+0.0144885 5.9302e-12
+0.0147783 5.95576e-12
+0.0150738 5.97934e-12
+0.0153753 6.00061e-12
+0.0156828 6.01893e-12
+0.0159965 6.03415e-12
+0.0163164 6.04563e-12
+0.0166427 6.05349e-12
+0.0169756 6.05774e-12
+0.0173151 6.05986e-12
+0.0176614 6.06228e-12
+0.0180146 6.06744e-12
+0.0183749 6.07806e-12
+0.0187424 6.09694e-12
+0.0191173 6.12475e-12
+0.0194996 6.16161e-12
+0.0198896 6.20739e-12
+0.0202874 6.26095e-12
+0.0206931 6.32198e-12
+0.021107 6.39223e-12
+0.0215291 6.47492e-12
+0.0219597 6.57393e-12
+0.0223989 6.69201e-12
+0.0228469 6.82824e-12
+0.0233038 6.97648e-12
+0.0237699 7.12919e-12
+0.0242453 7.27886e-12
+0.0247302 7.41738e-12
+0.0252248 7.53508e-12
+0.0257293 7.62644e-12
+0.0262439 7.69732e-12
+0.0267688 7.7576e-12
+0.0273042 7.80214e-12
+0.0278502 7.81268e-12
+0.0284072 7.77159e-12
+0.0289754 7.67081e-12
+0.0295549 7.50988e-12
+0.030146 7.30109e-12
+0.0307489 7.07626e-12
+0.0313639 6.87775e-12
+0.0319912 6.75151e-12
+0.032631 6.75252e-12
+0.0332836 6.89566e-12
+0.0339493 7.12848e-12
+0.0346283 7.40589e-12
+0.0353208 7.67963e-12
+0.0360272 7.89872e-12
+0.0367478 8.01129e-12
+0.0374827 7.96216e-12
+0.0382324 7.7421e-12
+0.0389971 7.4033e-12
+0.039777 7.03639e-12
+0.0405725 6.80132e-12
+0.041384 6.88085e-12
+0.0422117 7.27341e-12
+0.0430559 7.77508e-12
+0.043917 8.16232e-12
+0.0447954 8.23777e-12
+0.0456913 7.97612e-12
+0.0466051 7.4799e-12
+0.0475372 6.96602e-12
+0.0484879 6.83473e-12
+0.0494577 7.31755e-12
+0.0504468 7.99888e-12
+0.0514558 8.38489e-12
+0.0524849 8.1206e-12
+0.0535346 7.41108e-12
+0.0546053 6.84157e-12
+0.0556974 7.1217e-12
+0.0568113 7.81659e-12
+0.0579476 7.85028e-12
+0.0591065 7.00129e-12
+0.0602886 6.08202e-12
+0.0614944 6.0638e-12
+0.0627243 7.10463e-12
+0.0639788 7.82794e-12
+0.0652584 7.16869e-12
+0.0665635 6.39671e-12
+0.0678948 7.32377e-12
+0.0692527 8.4819e-12
+0.0706378 7.80058e-12
+0.0720505 6.90636e-12
+0.0734915 8.29813e-12
+0.0749614 9.11762e-12
+0.0764606 7.65624e-12
+0.0779898 8.17498e-12
+0.0795496 9.85735e-12
+0.0811406 8.34224e-12
+0.0827634 8.66343e-12
+0.0844187 1.04976e-11
+0.086107 8.50228e-12
+0.0878292 9.98386e-12
+0.0895858 1.04772e-11
+0.0913775 8.93393e-12
+0.093205 1.17553e-11
+0.0950691 9.23832e-12
+0.0969705 1.19479e-11
+0.0989099 1.00827e-11
+0.100888 1.20985e-11
+0.102906 1.06291e-11
+0.104964 1.27736e-11
+0.107063 1.06551e-11
+0.109205 1.38806e-11
+0.111389 1.06898e-11
+0.113616 1.39648e-11
+0.115889 1.29324e-11
+0.118207 1.18308e-11
+0.120571 1.53862e-11
+0.122982 1.37349e-11
+0.125442 1.21324e-11
+0.127951 1.50679e-11
+0.13051 1.6853e-11
+0.13312 1.50634e-11
+0.135782 1.32019e-11
+0.138498 1.35605e-11
+0.141268 1.50265e-11
+0.144093 1.64443e-11
+0.146975 1.74984e-11
+0.149914 1.80556e-11
+0.152913 1.80691e-11
+0.155971 1.74451e-11
+0.15909 1.62819e-11
+0.162272 1.55541e-11
+0.165518 1.74993e-11
+0.168828 2.19265e-11
+0.172205 2.01654e-11
+0.175649 1.68488e-11
+0.179162 2.32011e-11
+0.182745 1.88617e-11
+0.1864 2.28117e-11
+0.190128 1.90885e-11
+0.19393 2.55255e-11
+0.197809 2.02209e-11
+0.201765 2.01473e-11
+0.2058 2.4089e-11
+0.209916 2.7098e-11
+0.214115 2.81695e-11
+0.218397 2.84541e-11
+0.222765 2.73075e-11
+0.22722 2.38636e-11
+0.231765 2.2417e-11
+0.2364 3.07354e-11
+0.241128 2.40445e-11
+0.245951 3.19843e-11
+0.25087 2.45198e-11
+0.255887 6.30603e-11
+0.261005 6.91724e-11
+0.266225 7.19268e-11
+0.271549 7.4517e-11
+0.27698 7.927e-11
+0.28252 7.75217e-11
+0.28817 8.12546e-11
+0.293934 8.828e-11
+0.299812 8.68243e-11
+0.305809 9.02485e-11
+0.311925 9.18052e-11
+0.318163 9.38967e-11
+0.324526 9.59665e-11
+0.331017 9.80352e-11
+0.337637 9.79813e-11
+0.34439 1.00854e-10
+0.351278 9.94076e-11
+0.358303 1.07174e-10
+0.36547 1.08257e-10
+0.372779 1.09312e-10
+0.380235 1.11039e-10
+0.387839 1.14078e-10
+0.395596 1.2184e-10
+0.403508 1.20833e-10
+0.411578 1.17239e-10
+0.41981 1.2414e-10
+0.428206 1.31976e-10
+0.43677 1.32293e-10
+0.445505 1.3636e-10
+0.454415 1.35548e-10
+0.463504 1.3947e-10
+0.472774 1.38186e-10
+0.482229 1.46057e-10
+0.491874 1.51794e-10
+0.501711 1.54598e-10
+0.511746 1.55183e-10
+0.52198 1.59255e-10
+0.53242 1.64949e-10
+0.543069 1.57371e-10
+0.55393 1.6756e-10
+0.565008 1.6766e-10
+0.576309 1.70901e-10
+0.587835 1.79372e-10
+0.599592 1.82612e-10
+0.611583 1.88226e-10
+0.623815 1.88792e-10
+0.636291 1.87718e-10
+0.649017 1.97556e-10
+0.661997 1.99842e-10
+0.675237 1.9821e-10
+0.688742 2.09694e-10
+0.702517 2.15186e-10
+0.716567 2.16145e-10
+0.730899 2.21767e-10
+0.745517 2.20672e-10
+0.760427 2.30202e-10
+0.775636 2.31994e-10
+0.791148 2.47871e-10
+0.806971 2.37808e-10
+0.823111 2.49831e-10
+0.839573 2.55836e-10
+0.856364 2.55146e-10
+0.873492 2.70824e-10
+0.890961 2.64401e-10
+0.908781 2.7542e-10
+0.926956 2.9289e-10
+0.945495 2.91021e-10
+0.964405 2.91487e-10
+0.983693 3.11267e-10
+1.00337 3.09258e-10
+1.02343 3.16288e-10
+1.0439 3.17652e-10
+1.06478 3.21599e-10
+1.08608 3.2458e-10
+1.1078 3.41067e-10
+1.12995 3.52943e-10
+1.15255 3.47593e-10
+1.1756 3.4923e-10
+1.19912 3.65462e-10
+1.2231 3.78453e-10
+1.24756 3.84673e-10
+1.27251 4.03879e-10
+1.29796 3.98048e-10
+1.32392 3.95588e-10
+1.3504 4.23645e-10
+1.37741 4.25599e-10
+1.40496 4.16847e-10
+1.43306 4.34067e-10
+1.46172 4.63523e-10
+1.49095 4.55949e-10
+1.52077 4.73693e-10
+1.55119 4.90098e-10
+1.58221 4.79672e-10
+1.61385 4.95222e-10
+1.64613 5.22441e-10
+1.67905 5.08815e-10
+1.71263 5.12851e-10
+1.74689 5.28141e-10
+1.78182 5.49519e-10
+1.81746 5.69773e-10
+1.85381 5.56014e-10
+1.89089 5.86658e-10
+1.9287 5.76624e-10
+1.96728 5.8904e-10
+2.00662 6.0264e-10
+2.04676 6.43552e-10
+2.08769 6.43166e-10
+2.12945 6.42588e-10
+2.17203 6.62408e-10
+2.21547 6.80771e-10
+2.25978 7.04618e-10
+2.30498 6.69367e-10
+2.35108 7.25462e-10
+2.3981 7.31655e-10
+2.44606 7.5596e-10
+2.49498 7.6708e-10
+2.54488 8.09214e-10
+2.59578 7.54411e-10
+2.6477 8.21938e-10
+2.70065 8.32611e-10
+2.75466 8.43865e-10
+2.80976 8.64366e-10
+2.86595 8.85917e-10
+2.92327 8.82292e-10
+2.98174 8.92944e-10
+3.04137 9.18051e-10
+3.1022 9.27279e-10
+3.16424 9.74136e-10
+3.22753 1.01819e-09
+3.29208 1.06621e-09
+3.35792 1.05465e-09
+3.42508 1.06978e-09
+3.49358 1.10515e-09
+3.56345 1.0834e-09
+3.63472 1.14486e-09
+3.70742 1.13915e-09
+3.78156 1.15106e-09
+3.8572 1.22423e-09
+3.93434 1.16898e-09
+4.01303 1.17708e-09
+4.09329 1.24184e-09
+4.17515 1.25834e-09
+4.25866 1.23129e-09
+4.34383 1.28473e-09
+4.4307 1.35306e-09
+4.51932 1.36502e-09
+4.60971 1.35414e-09
+4.7019 1.43397e-09
+4.79594 1.44131e-09
+4.89186 1.49628e-09
+4.98969 1.49456e-09
+5.08949 1.52788e-09
+5.19128 1.64725e-09
+5.2951 1.68714e-09
+5.401 1.65162e-09
+5.50902 1.64207e-09
+5.61921 1.72286e-09
+5.73159 1.74428e-09
+5.84622 1.89952e-09
+5.96315 1.81306e-09
+6.08241 1.85122e-09
+6.20406 1.91524e-09
+6.32814 1.92927e-09
+6.4547 1.97535e-09
+6.58379 2.04618e-09
+6.71547 2.08966e-09
+6.84978 2.16367e-09
+6.98678 2.17756e-09
+7.12651 2.13156e-09
+7.26904 2.2284e-09
+7.41442 2.27238e-09
+7.56271 2.37087e-09
+7.71396 2.34101e-09
+7.86824 2.51115e-09
+8.02561 2.43017e-09
+8.18612 2.5355e-09
+8.34984 2.54757e-09
+8.51684 2.60705e-09
+8.68718 2.51303e-09
+8.86092 2.71289e-09
+9.03814 2.77519e-09
+9.2189 2.8165e-09
+9.40328 2.96084e-09
+9.59135 3.00755e-09
+9.78317 2.96292e-09
+9.97884 3.14372e-09
diff --git a/examples/03.IAXO/limits/IAXO_Vacuum.csv b/examples/03.IAXO/limits/IAXO_Vacuum.csv
new file mode 100644
index 00000000..dbde75f6
--- /dev/null
+++ b/examples/03.IAXO/limits/IAXO_Vacuum.csv
@@ -0,0 +1,466 @@
+0.001 4.42804e-12
+0.00102 4.42804e-12
+0.0010404 4.42804e-12
+0.00106121 4.42804e-12
+0.00108243 4.42804e-12
+0.00110408 4.42804e-12
+0.00112616 4.42804e-12
+0.00114869 4.42826e-12
+0.00117166 4.42826e-12
+0.00119509 4.42826e-12
+0.00121899 4.42826e-12
+0.00124337 4.42826e-12
+0.00126824 4.42826e-12
+0.00129361 4.42826e-12
+0.00131948 4.42826e-12
+0.00134587 4.42826e-12
+0.00137279 4.42826e-12
+0.00140024 4.42826e-12
+0.00142825 4.42826e-12
+0.00145681 4.42826e-12
+0.00148595 4.42826e-12
+0.00151567 4.42826e-12
+0.00154598 4.42849e-12
+0.0015769 4.42849e-12
+0.00160844 4.42849e-12
+0.00164061 4.42849e-12
+0.00167342 4.42849e-12
+0.00170689 4.42849e-12
+0.00174102 4.42849e-12
+0.00177584 4.42871e-12
+0.00181136 4.42871e-12
+0.00184759 4.42871e-12
+0.00188454 4.42871e-12
+0.00192223 4.42893e-12
+0.00196068 4.42893e-12
+0.00199989 4.42893e-12
+0.00203989 4.42915e-12
+0.00208069 4.42915e-12
+0.0021223 4.42915e-12
+0.00216474 4.42937e-12
+0.00220804 4.42937e-12
+0.0022522 4.42959e-12
+0.00229724 4.42959e-12
+0.00234319 4.42981e-12
+0.00239005 4.43004e-12
+0.00243785 4.43004e-12
+0.00248661 4.43026e-12
+0.00253634 4.43048e-12
+0.00258707 4.4307e-12
+0.00263881 4.43092e-12
+0.00269159 4.43114e-12
+0.00274542 4.43136e-12
+0.00280033 4.43159e-12
+0.00285633 4.43181e-12
+0.00291346 4.43225e-12
+0.00297173 4.43247e-12
+0.00303117 4.43292e-12
+0.00309179 4.43314e-12
+0.00315362 4.43358e-12
+0.0032167 4.43402e-12
+0.00328103 4.43447e-12
+0.00334665 4.43513e-12
+0.00341358 4.43558e-12
+0.00348186 4.43624e-12
+0.00355149 4.43691e-12
+0.00362252 4.43757e-12
+0.00369497 4.43824e-12
+0.00376887 4.43913e-12
+0.00384425 4.44001e-12
+0.00392114 4.4409e-12
+0.00399956 4.44202e-12
+0.00407955 4.44291e-12
+0.00416114 4.44424e-12
+0.00424436 4.44535e-12
+0.00432925 4.44668e-12
+0.00441584 4.44824e-12
+0.00450415 4.44957e-12
+0.00459424 4.45135e-12
+0.00468612 4.45313e-12
+0.00477984 4.45492e-12
+0.00487544 4.45692e-12
+0.00497295 4.45915e-12
+0.00507241 4.46138e-12
+0.00517386 4.46384e-12
+0.00527733 4.46652e-12
+0.00538288 4.46942e-12
+0.00549054 4.47233e-12
+0.00560035 4.47568e-12
+0.00571235 4.47904e-12
+0.0058266 4.48285e-12
+0.00594313 4.48689e-12
+0.006062 4.49115e-12
+0.00618324 4.49565e-12
+0.0063069 4.50059e-12
+0.00643304 4.506e-12
+0.0065617 4.51164e-12
+0.00669293 4.51773e-12
+0.00682679 4.52406e-12
+0.00696333 4.53108e-12
+0.00710259 4.53834e-12
+0.00724465 4.54629e-12
+0.00738954 4.55471e-12
+0.00753733 4.56337e-12
+0.00768808 4.57296e-12
+0.00784184 4.58281e-12
+0.00799867 4.59336e-12
+0.00815865 4.6044e-12
+0.00832182 4.61593e-12
+0.00848826 4.62829e-12
+0.00865802 4.64127e-12
+0.00883118 4.65475e-12
+0.00900781 4.66897e-12
+0.00918796 4.68394e-12
+0.00937172 4.69966e-12
+0.00955916 4.71614e-12
+0.00975034 4.73315e-12
+0.00994535 4.75117e-12
+0.0101443 4.76974e-12
+0.0103471 4.7891e-12
+0.0105541 4.8095e-12
+0.0107652 4.83071e-12
+0.0109805 4.85286e-12
+0.0112001 4.87573e-12
+0.0114241 4.89968e-12
+0.0116526 4.92424e-12
+0.0118856 4.94967e-12
+0.0121233 4.97598e-12
+0.0123658 5.00267e-12
+0.0126131 5.02976e-12
+0.0128654 5.057e-12
+0.0131227 5.08451e-12
+0.0133851 5.11204e-12
+0.0136528 5.13973e-12
+0.0139259 5.16756e-12
+0.0142044 5.19581e-12
+0.0144885 5.22551e-12
+0.0147783 5.25692e-12
+0.0150738 5.29173e-12
+0.0153753 5.33077e-12
+0.0156828 5.37548e-12
+0.0159965 5.42706e-12
+0.0163164 5.4871e-12
+0.0166427 5.55682e-12
+0.0169756 5.63742e-12
+0.0173151 5.73037e-12
+0.0176614 5.83723e-12
+0.0180146 5.96024e-12
+0.0183749 6.1006e-12
+0.0187424 6.26095e-12
+0.0191173 6.44198e-12
+0.0194996 6.64533e-12
+0.0198896 6.87088e-12
+0.0202874 7.11672e-12
+0.0206931 7.37743e-12
+0.021107 7.64171e-12
+0.0215291 7.89279e-12
+0.0219597 8.11694e-12
+0.0223989 8.31268e-12
+0.0228469 8.49505e-12
+0.0233038 8.69076e-12
+0.0237699 8.92857e-12
+0.0242453 9.22124e-12
+0.0247302 9.55476e-12
+0.0252248 9.88747e-12
+0.0257293 1.01863e-11
+0.0262439 1.04704e-11
+0.0267688 1.07984e-11
+0.0273042 1.11878e-11
+0.0278502 1.1589e-11
+0.0284072 1.19635e-11
+0.0289754 1.23714e-11
+0.0295549 1.2873e-11
+0.030146 1.33113e-11
+0.0307489 1.34855e-11
+0.0313639 1.34504e-11
+0.0319912 1.33219e-11
+0.032631 1.29998e-11
+0.0332836 1.25457e-11
+0.0339493 1.22507e-11
+0.0346283 1.21908e-11
+0.0353208 1.22024e-11
+0.0360272 1.22177e-11
+0.0367478 1.23516e-11
+0.0374827 1.28975e-11
+0.0382324 1.39914e-11
+0.0389971 1.51495e-11
+0.039777 1.57477e-11
+0.0405725 1.5945e-11
+0.041384 1.68707e-11
+0.0422117 1.76381e-11
+0.0430559 1.77051e-11
+0.043917 1.72267e-11
+0.0447954 1.70165e-11
+0.0456913 1.77396e-11
+0.0466051 1.83413e-11
+0.0475372 1.83175e-11
+0.0484879 1.87236e-11
+0.0494577 1.77681e-11
+0.0504468 1.74434e-11
+0.0514558 1.87676e-11
+0.0524849 2.00247e-11
+0.0535346 2.1755e-11
+0.0546053 2.21707e-11
+0.0556974 2.27581e-11
+0.0568113 2.36438e-11
+0.0579476 2.11669e-11
+0.0591065 2.20424e-11
+0.0602886 2.28345e-11
+0.0614944 2.27525e-11
+0.0627243 2.19957e-11
+0.0639788 2.71726e-11
+0.0652584 2.77542e-11
+0.0665635 2.3728e-11
+0.0678948 2.69642e-11
+0.0692527 2.60048e-11
+0.0706378 2.4612e-11
+0.0720505 2.96221e-11
+0.0734915 2.99151e-11
+0.0749614 2.97837e-11
+0.0764606 2.84555e-11
+0.0779898 2.75248e-11
+0.0795496 3.18471e-11
+0.0811406 3.21366e-11
+0.0827634 3.31909e-11
+0.0844187 3.07047e-11
+0.086107 3.22058e-11
+0.0878292 3.62777e-11
+0.0895858 3.44533e-11
+0.0913775 3.57733e-11
+0.093205 3.35614e-11
+0.0950691 3.72566e-11
+0.0969705 4.01637e-11
+0.0989099 3.38886e-11
+0.100888 4.20469e-11
+0.102906 4.21859e-11
+0.104964 3.86902e-11
+0.107063 4.24568e-11
+0.109205 3.78028e-11
+0.111389 4.69413e-11
+0.113616 4.12455e-11
+0.115889 4.61523e-11
+0.118207 4.44256e-11
+0.120571 4.15831e-11
+0.122982 4.85711e-11
+0.125442 4.38617e-11
+0.127951 6.10878e-11
+0.13051 4.86002e-11
+0.13312 5.395e-11
+0.135782 5.87397e-11
+0.138498 5.1074e-11
+0.141268 6.25296e-11
+0.144093 5.49753e-11
+0.146975 5.86693e-11
+0.149914 6.18687e-11
+0.152913 6.07831e-11
+0.155971 5.9259e-11
+0.15909 5.84584e-11
+0.162272 6.37865e-11
+0.165518 6.15817e-11
+0.168828 7.12181e-11
+0.172205 6.85766e-11
+0.175649 6.91724e-11
+0.179162 6.81476e-11
+0.182745 7.96077e-11
+0.1864 8.05205e-11
+0.190128 6.47119e-11
+0.19393 7.46774e-11
+0.197809 7.4696e-11
+0.201765 7.27988e-11
+0.2058 7.56698e-11
+0.209916 8.76182e-11
+0.214115 8.7216e-11
+0.218397 8.65166e-11
+0.222765 7.96953e-11
+0.22722 8.35957e-11
+0.231765 9.19568e-11
+0.2364 9.91048e-11
+0.241128 8.64345e-11
+0.245951 9.70402e-11
+0.25087 9.40566e-11
+0.255887 1.03262e-10
+0.261005 9.71567e-11
+0.266225 9.13747e-11
+0.271549 1.11434e-10
+0.27698 1.12116e-10
+0.28252 9.99909e-11
+0.28817 1.06426e-10
+0.293934 1.20338e-10
+0.299812 1.15441e-10
+0.305809 1.20218e-10
+0.311925 1.18193e-10
+0.318163 1.29378e-10
+0.324526 1.35155e-10
+0.331017 1.52022e-10
+0.337637 1.31252e-10
+0.34439 1.30826e-10
+0.351278 1.1963e-10
+0.358303 1.34004e-10
+0.36547 1.32412e-10
+0.372779 1.46364e-10
+0.380235 1.41359e-10
+0.387839 1.42358e-10
+0.395596 1.70841e-10
+0.403508 1.64562e-10
+0.411578 1.33449e-10
+0.41981 1.48046e-10
+0.428206 1.86931e-10
+0.43677 1.69462e-10
+0.445505 1.91904e-10
+0.454415 1.71895e-10
+0.463504 1.87231e-10
+0.472774 1.65486e-10
+0.482229 2.13289e-10
+0.491874 1.982e-10
+0.501711 2.08184e-10
+0.511746 2.08288e-10
+0.52198 2.04112e-10
+0.53242 2.13332e-10
+0.543069 1.89208e-10
+0.55393 2.12438e-10
+0.565008 2.24344e-10
+0.576309 2.18876e-10
+0.587835 2.19352e-10
+0.599592 2.3247e-10
+0.611583 2.54866e-10
+0.623815 2.41932e-10
+0.636291 2.17969e-10
+0.649017 2.38663e-10
+0.661997 2.46672e-10
+0.675237 2.39285e-10
+0.688742 2.67099e-10
+0.702517 2.68975e-10
+0.716567 2.56169e-10
+0.730899 2.70337e-10
+0.745517 2.6582e-10
+0.760427 3.20379e-10
+0.775636 3.12015e-10
+0.791148 3.37538e-10
+0.806971 2.97934e-10
+0.823111 3.03179e-10
+0.839573 3.10645e-10
+0.856364 3.33714e-10
+0.873492 3.33798e-10
+0.890961 3.4134e-10
+0.908781 3.26403e-10
+0.926956 4.03737e-10
+0.945495 3.84269e-10
+0.964405 3.68683e-10
+0.983693 4.08224e-10
+1.00337 3.91827e-10
+1.02343 3.94501e-10
+1.0439 4.16556e-10
+1.06478 3.8377e-10
+1.08608 4.0016e-10
+1.1078 4.18414e-10
+1.12995 4.52564e-10
+1.15255 4.09553e-10
+1.1756 4.21532e-10
+1.19912 4.34914e-10
+1.2231 4.69096e-10
+1.24756 4.54719e-10
+1.27251 5.14058e-10
+1.29796 5.64645e-10
+1.32392 4.79839e-10
+1.3504 5.6504e-10
+1.37741 4.99162e-10
+1.40496 5.10446e-10
+1.43306 5.65855e-10
+1.46172 6.26908e-10
+1.49095 5.4886e-10
+1.52077 6.24998e-10
+1.55119 6.82954e-10
+1.58221 5.50646e-10
+1.61385 6.47782e-10
+1.64613 7.25317e-10
+1.67905 6.17435e-10
+1.71263 6.17126e-10
+1.74689 6.75076e-10
+1.78182 7.1756e-10
+1.81746 6.95881e-10
+1.85381 6.49744e-10
+1.89089 7.25789e-10
+1.9287 6.83637e-10
+1.96728 7.09958e-10
+2.00662 6.76461e-10
+2.04676 7.6923e-10
+2.08769 8.05016e-10
+2.12945 7.75119e-10
+2.17203 8.8066e-10
+2.21547 9.38005e-10
+2.25978 1.0125e-09
+2.30498 7.80369e-10
+2.35108 1.00851e-09
+2.3981 1.01921e-09
+2.44606 9.28438e-10
+2.49498 1.05956e-09
+2.54488 1.04666e-09
+2.59578 8.62854e-10
+2.6477 9.58672e-10
+2.70065 1.04089e-09
+2.75466 1.0342e-09
+2.80976 1.11498e-09
+2.86595 1.18579e-09
+2.92327 1.07714e-09
+2.98174 1.07622e-09
+3.04137 1.084e-09
+3.1022 1.12007e-09
+3.16424 1.30339e-09
+3.22753 1.72011e-09
+3.29208 1.53616e-09
+3.35792 1.39783e-09
+3.42508 1.36011e-09
+3.49358 1.42511e-09
+3.56345 1.38634e-09
+3.63472 1.49179e-09
+3.70742 1.54915e-09
+3.78156 1.53569e-09
+3.8572 1.54366e-09
+3.93434 1.42903e-09
+4.01303 1.36222e-09
+4.09329 1.63322e-09
+4.17515 1.53992e-09
+4.25866 1.43161e-09
+4.34383 1.53646e-09
+4.4307 1.70163e-09
+4.51932 1.76591e-09
+4.60971 1.65609e-09
+4.7019 1.88005e-09
+4.79594 1.84798e-09
+4.89186 1.79538e-09
+4.98969 1.83285e-09
+5.08949 1.92368e-09
+5.19128 2.11955e-09
+5.2951 2.18116e-09
+5.401 1.95843e-09
+5.50902 1.93081e-09
+5.61921 2.14096e-09
+5.73159 2.00475e-09
+5.84622 2.58375e-09
+5.96315 2.41635e-09
+6.08241 2.25881e-09
+6.20406 2.5065e-09
+6.32814 2.7314e-09
+6.4547 2.39279e-09
+6.58379 2.5606e-09
+6.71547 2.81094e-09
+6.84978 2.81833e-09
+6.98678 2.98538e-09
+7.12651 2.52626e-09
+7.26904 2.82538e-09
+7.41442 2.75224e-09
+7.56271 3.12054e-09
+7.71396 2.74235e-09
+7.86824 3.33911e-09
+8.02561 3.04752e-09
+8.18612 3.24009e-09
+8.34984 3.1207e-09
+8.51684 3.08247e-09
+8.68718 3.03794e-09
+8.86092 3.24999e-09
+9.03814 3.535e-09
+9.2189 3.35091e-09
+9.40328 3.72156e-09
+9.59135 4.04151e-09
+9.78317 3.70022e-09
+9.97884 3.98025e-09
diff --git a/examples/03.IAXO/output/.gitignore b/examples/03.IAXO/output/.gitignore
new file mode 100644
index 00000000..5e7d2734
--- /dev/null
+++ b/examples/03.IAXO/output/.gitignore
@@ -0,0 +1,4 @@
+# Ignore everything in this directory
+*
+# Except this file
+!.gitignore
diff --git a/inc/TRestAxionBufferGas.h b/inc/TRestAxionBufferGas.h
index 54df656c..eb8cae54 100644
--- a/inc/TRestAxionBufferGas.h
+++ b/inc/TRestAxionBufferGas.h
@@ -29,6 +29,7 @@
class TRestAxionBufferGas : public TRestMetadata {
private:
void Initialize();
+ void Clear();
void InitFromConfigFile();
diff --git a/inc/TRestAxionField.h b/inc/TRestAxionField.h
index 76be08b6..071fe70b 100644
--- a/inc/TRestAxionField.h
+++ b/inc/TRestAxionField.h
@@ -78,7 +78,7 @@ class TRestAxionField : public TObject {
/// It assigns a gas buffer medium to the calculation
void SetBufferGas(TRestAxionBufferGas* buffGas) { fBufferGas = buffGas; }
- Double_t GammaTransmissionProbability(Double_t ma, Double_t mg = 0, Double_t absLength = 0);
+ Double_t GammaTransmissionProbability(Double_t Ea, Double_t ma, Double_t mg = 0, Double_t absLength = 0);
Double_t GammaTransmissionProbability(Double_t Bmag, Double_t Lcoh, Double_t Ea, Double_t ma,
Double_t mg = 0, Double_t absLength = 0);
diff --git a/inc/TRestAxionHelioscopeSignal.h b/inc/TRestAxionHelioscopeSignal.h
new file mode 100644
index 00000000..985fd4fd
--- /dev/null
+++ b/inc/TRestAxionHelioscopeSignal.h
@@ -0,0 +1,98 @@
+/*************************************************************************
+ * This file is part of the REST software framework. *
+ * *
+ * Copyright (C) 2016 GIFNA/TREX (University of Zaragoza) *
+ * For more information see https://gifna.unizar.es/trex *
+ * *
+ * REST is free software: you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation, either version 3 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * REST is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have a copy of the GNU General Public License along with *
+ * REST in $REST_PATH/LICENSE. *
+ * If not, see https://www.gnu.org/licenses/. *
+ * For the list of contributors see $REST_PATH/CREDITS. *
+ *************************************************************************/
+
+#ifndef REST_TRestAxionHelioscopeSignal
+#define REST_TRestAxionHelioscopeSignal
+
+#include
+#include
+#include
+
+#include "TRestComponent.h"
+
+/// It allows to build a signal model using a given helioscope configuration and solar axion flux component
+class TRestAxionHelioscopeSignal : public TRestComponent {
+ private:
+ /// It defines the helioscope type (IAXO/AMELIE)
+ std::string fConversionType = "IAXO";
+
+ /// It defines the number of bores or TPCs (number of magnetic volumes)
+ Int_t fBores = 2;
+
+ /// It defines the magnet aperture radius in standard REST units (mm)
+ Double_t fMagnetRadius = 350;
+
+ /// It defines the magnet length in standard REST units (mm)
+ Double_t fMagnetLength = 10000;
+
+ /// It defines the magnetic field strength in T
+ Double_t fMagnetStrength = 2;
+
+ /// If optics is present we may add an efficiency for Ngamma calculation
+ Double_t fOpticsEfficiency = 1;
+
+ /// If an x-ray window is present we may add an efficiency for Ngamma calculation
+ Double_t fWindowEfficiency = 1;
+
+ /// It defines the gas mixture we use inside our magnetic field. Vacuum if it is nullptr
+ TRestAxionBufferGas* fGas = nullptr;
+
+ /// It defines the solar flux we use inside our magnetic field. Must be defined.
+ TRestAxionSolarFlux* fFlux = nullptr;
+
+ /// It provides access to axion-photon conversion probabilites calculations
+ TRestAxionField* fField = nullptr;
+
+ protected:
+ void InitFromConfigFile() override;
+
+ void FillHistograms() override;
+
+ public:
+ Double_t GetSignalRate(std::vector point, Double_t mass = 0);
+ Double_t GetSignalRate(Double_t mass, Double_t Eo, Double_t Ef);
+
+ TRestAxionBufferGas* GetGas() { return fGas; }
+ TRestAxionSolarFlux* GetFlux() { return fFlux; }
+
+ void PrintMetadata() override;
+
+ void SetNumberOfBores(const Int_t& bores) { fBores = bores; }
+ void SetMagnetRadius(const Double_t& radius) { fMagnetRadius = radius; }
+ void SetMagnetLength(const Double_t& length) { fMagnetLength = length; }
+ void SetMagnetStrength(const Double_t& strength) { fMagnetStrength = strength; }
+ void SetType(const std::string& type) { fConversionType = type; }
+
+ Int_t GetNumberOfBores() const { return fBores; }
+ Double_t GetMagnetRadius() const { return fMagnetRadius; }
+ Double_t GetMagnetLength() const { return fMagnetLength; }
+ Double_t GetMagnetStrength() const { return fMagnetStrength; }
+ std::string GetType() const { return fConversionType; }
+
+ void Initialize() override;
+ TRestAxionHelioscopeSignal(const char* cfgFileName, const std::string& name);
+ TRestAxionHelioscopeSignal();
+ ~TRestAxionHelioscopeSignal();
+
+ ClassDefOverride(TRestAxionHelioscopeSignal, 1);
+};
+#endif
diff --git a/inc/TRestAxionSolarFlux.h b/inc/TRestAxionSolarFlux.h
index 73bcc00d..eb15c3af 100644
--- a/inc/TRestAxionSolarFlux.h
+++ b/inc/TRestAxionSolarFlux.h
@@ -41,10 +41,10 @@ class TRestAxionSolarFlux : public TRestMetadata {
/// Seed used in random generator
Int_t fSeed = 0; //<
+ protected:
/// A metadata member to control if this class has been initialized
Bool_t fTablesLoaded = false; //!
- protected:
/// A canvas pointer for drawing
TCanvas* fCanvas = nullptr; //!
@@ -74,6 +74,8 @@ class TRestAxionSolarFlux : public TRestMetadata {
/// It returns an energy integrated spectrum in cm-2 s-1 keV-1
virtual TH1F* GetEnergySpectrum(Double_t m = 0) = 0;
+ Double_t GetFluxAtEnergy(Double_t energy, Double_t m = 0);
+
virtual TCanvas* DrawSolarFlux();
virtual void ExportTables(Bool_t ascii = false) {
diff --git a/macros/REST_Axion_PlotResonances.C b/macros/REST_Axion_PlotResonances.C
index ebc2cc2c..e4013b1a 100644
--- a/macros/REST_Axion_PlotResonances.C
+++ b/macros/REST_Axion_PlotResonances.C
@@ -88,7 +88,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1
// Probability is not zero, but we introduce an artifact (virtual point) to make proper TGraph filling
prob_vac.push_back(0);
for (size_t j = 1; j < m_a.size(); j++) {
- prob_vac.push_back(ax->GammaTransmissionProbability(m_a[j]));
+ prob_vac.push_back(ax->GammaTransmissionProbability(Ea, m_a[j]));
}
// Computes the sum of all the probabilities (Adding vacuum)
@@ -114,7 +114,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1
Double_t xLabel = 0;
Double_t yLabel = 0;
for (size_t j = 1; j < m_a.size(); j++) {
- Double_t probV = ax->GammaTransmissionProbability(m_a[j]);
+ Double_t probV = ax->GammaTransmissionProbability(Ea, m_a[j]);
if (probV > yLabel) {
yLabel = probV;
xLabel = m_a[j];
@@ -227,7 +227,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1
if (energy < fEnergyRange.X() || energy > fEnergyRange.Y()) continue;
ax->SetAxionEnergy(rebinned->GetBinCenter(n));
- ng += rebinned->GetBinContent(n) * ax->GammaTransmissionProbability(m_a[j]);
+ ng += rebinned->GetBinContent(n) * ax->GammaTransmissionProbability(Ea, m_a[j]);
}
/// Gas phase
@@ -241,7 +241,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1
if (energy < fEnergyRange.X() || energy > fEnergyRange.Y()) continue;
ax->SetAxionEnergy(rebinned->GetBinCenter(n));
- ng += rebinned->GetBinContent(n) * ax->GammaTransmissionProbability(m_a[j]);
+ ng += rebinned->GetBinContent(n) * ax->GammaTransmissionProbability(Ea, m_a[j]);
}
}
ng = ng * deltaE * fArea * fExposureTime;
@@ -298,7 +298,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1
if (energy < fEnergyRange.X() || energy > 2) continue;
ax->SetAxionEnergy(rebinnedABC->GetBinCenter(n));
- ng += rebinnedABC->GetBinContent(n) * ax->GammaTransmissionProbability(m_a[j]);
+ ng += rebinnedABC->GetBinContent(n) * ax->GammaTransmissionProbability(Ea, m_a[j]);
}
/// Gas phase
@@ -312,7 +312,7 @@ int REST_Axion_PlotResonances(std::string optionString = "", double ma_max = 0.1
if (energy < fEnergyRange.X() || energy > 2) continue;
ax->SetAxionEnergy(rebinnedABC->GetBinCenter(n));
- ng += rebinnedABC->GetBinContent(n) * ax->GammaTransmissionProbability(m_a[j]);
+ ng += rebinnedABC->GetBinContent(n) * ax->GammaTransmissionProbability(Ea, m_a[j]);
}
}
ng = 2 * 100 * ng * deltaE * fArea * fExposureTime;
diff --git a/pipeline/physics/AxionPhysicsValidation.C b/pipeline/physics/AxionPhysicsValidation.C
index 78a1be6f..c9351da3 100644
--- a/pipeline/physics/AxionPhysicsValidation.C
+++ b/pipeline/physics/AxionPhysicsValidation.C
@@ -156,10 +156,12 @@ Int_t AxionPhysicsValidation() {
Double_t ma = 1.e-2; // eV
Double_t Ea = 3.0; // keV
+ axionField.SetMagneticField(B);
+ axionField.SetCoherenceLength(L);
std::cout << "Probability (CAST. Helium. ma:10meV - Ea:3keV): "
- << axionField.GammaTransmissionProbability(B, L, Ea, ma) << std::endl;
+ << axionField.GammaTransmissionProbability(Ea, ma) << std::endl;
- if (std::round(axionField.GammaTransmissionProbability(B, L, Ea, ma) * 1.e20) != 1547) {
+ if (std::round(axionField.GammaTransmissionProbability(Ea, ma) * 1.e20) != 1547) {
std::cout << "CAST Probability. Wrong axion-photon conversion probability" << std::endl;
return 301;
}
diff --git a/pipeline/sensitivity/DummyIAXO.rml b/pipeline/sensitivity/DummyIAXO.rml
new file mode 100644
index 00000000..ef009b41
--- /dev/null
+++ b/pipeline/sensitivity/DummyIAXO.rml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pipeline/sensitivity/Validation.C b/pipeline/sensitivity/Validation.C
new file mode 100644
index 00000000..9e7b25fb
--- /dev/null
+++ b/pipeline/sensitivity/Validation.C
@@ -0,0 +1,31 @@
+
+Int_t Validation() {
+ TRestSensitivity sens("DummyIAXO.rml", "VacuumPhase");
+ sens.GenerateCurve();
+ sens.GetExperiment(0)->GetSignal()->PrintMetadata();
+ sens.GetExperiment(0)->GetBackground()->PrintMetadata();
+
+ if (sens.GetExperiment(0)->GetSignal()->GetParameterizationNodes().size() != 2) {
+ std::cout << "Error! The number of parameterization nodes is not two!" << std::endl;
+ return 1;
+ }
+
+ std::cout << sens.GetCurve()[0] << std::endl;
+ if (sens.GetCurve().size() != 2) {
+ std::cout << "Error! The generated sensitivity curve should have 2 nodes!" << std::endl;
+ return 2;
+ }
+
+ if (sens.getcurve()[0] != 0.000715751) {
+ std::cout << "error! the first point on the sensitivity curve should have 0.000715751!" << std::endl;
+ std::cout << "present value: " << sens.getcurve[0] << std::endl;
+ return 3;
+ }
+
+ if (sens.getcurve()[1] != 0.613593) {
+ std::cout << "error! the second point on the sensitivity curve should be 0.613593!" << std::endl;
+ std::cout << "present value: " << sens.getcurve[1] << std::endl;
+ return 4;
+ }
+ return 0;
+}
diff --git a/src/TRestAxionBufferGas.cxx b/src/TRestAxionBufferGas.cxx
index 23acf354..0642ffb9 100644
--- a/src/TRestAxionBufferGas.cxx
+++ b/src/TRestAxionBufferGas.cxx
@@ -132,7 +132,9 @@ TRestAxionBufferGas::~TRestAxionBufferGas() {}
void TRestAxionBufferGas::Initialize() {
SetSectionName(this->ClassName());
SetLibraryVersion(LIBRARY_VERSION);
+}
+void TRestAxionBufferGas::Clear() {
fBufferGasName.clear();
fBufferGasDensity.clear();
diff --git a/src/TRestAxionField.cxx b/src/TRestAxionField.cxx
index a7163735..d6713d32 100644
--- a/src/TRestAxionField.cxx
+++ b/src/TRestAxionField.cxx
@@ -291,7 +291,9 @@ double TRestAxionField::BLHalfSquared(Double_t Bmag, Double_t Lcoh) // (BL/2)**
///
/// The returned value is given for g_ag = 10^-10 GeV-1
///
-Double_t TRestAxionField::GammaTransmissionProbability(Double_t ma, Double_t mg, Double_t absLength) {
+Double_t TRestAxionField::GammaTransmissionProbability(Double_t Ea, Double_t ma, Double_t mg,
+ Double_t absLength) {
+ fEa = Ea;
Double_t cohLength = fLcoh * units("m"); // Default REST units are mm;
Double_t photonMass = mg;
@@ -769,8 +771,8 @@ Double_t TRestAxionField::GammaTransmissionFWHM(Double_t step) {
/// Scanning towards the right (valid also for vacuum)
Double_t scanMass = resonanceMass;
- Double_t Pmax = GammaTransmissionProbability(resonanceMass);
- while (Pmax / 2 < GammaTransmissionProbability(scanMass)) {
+ Double_t Pmax = GammaTransmissionProbability(fEa, resonanceMass);
+ while (Pmax / 2 < GammaTransmissionProbability(fEa, scanMass)) {
scanMass += step;
if (scanMass > maxMass) {
RESTError << "TRestAxionField::GammaTransmissionProbability. Something went wrong when "
diff --git a/src/TRestAxionHelioscopeSignal.cxx b/src/TRestAxionHelioscopeSignal.cxx
new file mode 100644
index 00000000..a23e8dbb
--- /dev/null
+++ b/src/TRestAxionHelioscopeSignal.cxx
@@ -0,0 +1,326 @@
+/*************************************************************************
+ * This file is part of the REST software framework. *
+ * *
+ * Copyright (C) 2016 GIFNA/TREX (University of Zaragoza) *
+ * For more information see https://gifna.unizar.es/trex *
+ * *
+ * REST is free software: you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation, either version 3 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * REST is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have a copy of the GNU General Public License along with *
+ * REST in $REST_PATH/LICENSE. *
+ * If not, see https://www.gnu.org/licenses/. *
+ * For the list of contributors see $REST_PATH/CREDITS. *
+ *************************************************************************/
+
+/////////////////////////////////////////////////////////////////////////
+/// This class describes an axion helioscope signal using different
+/// aproximations, calculating an expected rate as a function of energy
+/// (independent of position).
+///
+/// \code
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+///
+/// \endcode
+///
+///----------------------------------------------------------------------
+///
+/// REST-for-Physics - Software for Rare Event Searches Toolkit
+///
+/// History of developments:
+///
+/// 2023-December: First implementation of TRestAxionHelioscopeSignal
+/// Javier Galan
+///
+/// \class TRestAxionHelioscopeSignal
+/// \author: Javier Galan (javier.galan.lacarra@cern.ch)
+///
+///
+///
+#include "TRestAxionHelioscopeSignal.h"
+
+#include
+
+#include "TKey.h"
+
+ClassImp(TRestAxionHelioscopeSignal);
+
+///////////////////////////////////////////////
+/// \brief Default constructor
+///
+TRestAxionHelioscopeSignal::TRestAxionHelioscopeSignal() { Initialize(); }
+
+/////////////////////////////////////////////
+/// \brief Constructor loading data from a config file
+///
+/// If no configuration path is defined using TRestMetadata::SetConfigFilePath
+/// the path to the config file must be specified using full path, absolute or
+/// relative.
+///
+/// The default behaviour is that the config file must be specified with
+/// full path, absolute or relative.
+///
+/// \param cfgFileName A const char* giving the path to an RML file.
+/// \param name The name of the specific metadata. It will be used to find the
+/// corresponding TRestAxionMagneticField section inside the RML.
+///
+TRestAxionHelioscopeSignal::TRestAxionHelioscopeSignal(const char* cfgFileName, const std::string& name)
+ : TRestComponent(cfgFileName) {
+ Initialize();
+
+ LoadConfigFromFile(fConfigFileName, name);
+
+ if (GetVerboseLevel() >= TRestStringOutput::REST_Verbose_Level::REST_Info) PrintMetadata();
+}
+
+///////////////////////////////////////////////
+/// \brief Default destructor
+///
+TRestAxionHelioscopeSignal::~TRestAxionHelioscopeSignal() {
+ if (fField) delete fField;
+}
+
+///////////////////////////////////////////////
+/// \brief It will initialize the data frame with the filelist and column names
+/// (or observables) that have been defined by the user.
+///
+void TRestAxionHelioscopeSignal::Initialize() {
+ TRestComponent::Initialize();
+
+ SetSectionName(this->ClassName());
+ SetLibraryVersion(LIBRARY_VERSION);
+
+ if (fField == nullptr) fField = new TRestAxionField();
+}
+
+///////////////////////////////////////////////
+/// \brief It returns the intensity/rate (in seconds) corresponding to the
+/// class defined helioscope configuration evaluated at the position of the
+/// parameter space given by point, which by now is simply the energy.
+///
+/// The size of the point vector must have the same dimension as the dimensions
+/// of the variables of the distribution. Right now is 1-dimension.
+///
+Double_t TRestAxionHelioscopeSignal::GetSignalRate(std::vector point, Double_t mass) {
+ if (GetDimensions() != point.size()) {
+ RESTError << "Point should have same dimensions as number of variables!" << RESTendl;
+ return 0;
+ }
+
+ if (GetDimensions() != 1) {
+ RESTError << "Point should have only 1-dimension! Energy" << RESTendl;
+ return 0;
+ }
+
+ Double_t flux = fFlux->GetFluxAtEnergy(point[0], mass); // cm-2 s-1 keV-1
+
+ Double_t probability = 0;
+ if (fConversionType == "IAXO") {
+ probability =
+ fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(point[0], mass);
+
+ // We assume all flux ends up inside the spot. No XY dependency of signal.
+ Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm");
+
+ flux *= fBores * apertureArea;
+ }
+
+ Double_t signal = flux * probability;
+
+ Double_t normFactor = 1;
+ /// There should be only 1-dimension. Rate is integrated to the particular bin size.
+ for (size_t n = 0; n < GetDimensions(); n++) {
+ normFactor *= (fRanges[n].Y() - fRanges[n].X()) / fNbins[n];
+ }
+
+ return normFactor * signal; // s-1
+}
+
+///////////////////////////////////////////////
+/// \brief It returns the intensity/rate (in seconds) corresponding to the
+/// class defined helioscope configuration integrated in the energy range
+/// given by argument.
+///
+Double_t TRestAxionHelioscopeSignal::GetSignalRate(Double_t mass, Double_t Eo, Double_t Ef) {
+ Double_t dE = 0.5;
+
+ Double_t signal = 0;
+ for (Double_t en = Eo; en < Ef; en += dE) {
+ Double_t flux = fFlux->GetFluxAtEnergy(en, mass); // cm-2 s-1 keV-1
+
+ /// This is copy/paste from previous method. Sorry for doing this.
+ Double_t probability = 0;
+ if (fConversionType == "IAXO") {
+ probability =
+ fOpticsEfficiency * fWindowEfficiency * fField->GammaTransmissionProbability(en, mass);
+
+ // We assume all flux ends up inside the spot. No XY dependency of signal.
+ Double_t apertureArea = TMath::Pi() * fMagnetRadius * units("cm") * fMagnetRadius * units("cm");
+ flux *= fBores * apertureArea;
+ }
+ signal += flux * probability;
+ }
+
+ return signal * dE; // s-1
+}
+
+/////////////////////////////////////////////
+/// \brief It will produce a histogram with the distribution using the formula
+/// contributions.
+///
+/// TODO: The histogram is filled just by evaluating the formula, but it would
+/// be more realistic that we fill the histograms with a number N of entries
+/// that mimic a MC generation scheme similar to TRestComponentDataSet.
+///
+void TRestAxionHelioscopeSignal::FillHistograms() {
+ if (!HasNodes()) return;
+ fNodeDensity.clear();
+
+ RESTInfo << "Generating N-dim histogram for " << GetName() << RESTendl;
+
+ int nIndex = 0;
+ for (const auto& node : fParameterizationNodes) {
+ TString hName = fParameter + "_" + DoubleToString(node);
+
+ Int_t* bins = new Int_t[fNbins.size()];
+ Double_t* xlow = new Double_t[fNbins.size()];
+ Double_t* xhigh = new Double_t[fNbins.size()];
+
+ for (size_t n = 0; n < fNbins.size(); n++) {
+ bins[n] = fNbins[n];
+ xlow[n] = fRanges[n].X();
+ xhigh[n] = fRanges[n].Y();
+ }
+
+ THnD* hNd = new THnD(hName, hName, fNbins.size(), bins, xlow, xhigh);
+
+ // Calculate the bin width in each dimension
+ std::vector binWidths;
+ for (size_t i = 0; i < fNbins.size(); ++i) {
+ double width = static_cast(xhigh[i] - xlow[i]) / bins[i];
+ binWidths.push_back(width);
+ }
+
+ // Nested loop to iterate over each bin and print its center
+ std::vector binIndices(fNbins.size(), 0); // Initialize bin indices to 0 in each dimension
+
+ bool carry = false;
+ while (!carry) {
+ // Calculate the center of the current bin in each dimension
+ std::vector binCenter;
+ for (size_t i = 0; i < fNbins.size(); ++i)
+ binCenter.push_back(xlow[i] + (binIndices[i] + 0.5) * binWidths[i]);
+
+ hNd->Fill(binCenter.data(), GetSignalRate(binCenter, node));
+
+ // Update bin indices for the next iteration
+ carry = true;
+ for (size_t i = 0; i < fNbins.size(); ++i) {
+ binIndices[i]++;
+ if (binIndices[i] < bins[i]) {
+ carry = false;
+ break;
+ }
+ binIndices[i] = 0;
+ }
+ }
+
+ fNodeDensity.push_back(hNd);
+ fActiveNode = nIndex;
+ nIndex++;
+ }
+}
+
+/////////////////////////////////////////////
+/// \brief Prints on screen the information about the metadata members of TRestAxionSolarFlux
+///
+void TRestAxionHelioscopeSignal::PrintMetadata() {
+ TRestComponent::PrintMetadata();
+
+ RESTMetadata << "Magnet bores : " << fBores << RESTendl;
+ RESTMetadata << "Magnet radius : " << fMagnetRadius * units("cm") << " cm" << RESTendl;
+ RESTMetadata << "Magnet length : " << fMagnetLength * units("m") << " m" << RESTendl;
+ RESTMetadata << "Magnet field : " << fMagnetStrength * units("T") << " T" << RESTendl;
+ RESTMetadata << " " << RESTendl;
+
+ RESTMetadata << "Optics efficiency : " << fOpticsEfficiency << RESTendl;
+ RESTMetadata << "Window efficiency : " << fWindowEfficiency << RESTendl;
+
+ RESTMetadata << "----" << RESTendl;
+}
+
+/////////////////////////////////////////////
+/// \brief It customizes the retrieval of XML data values of this class
+///
+void TRestAxionHelioscopeSignal::InitFromConfigFile() {
+ TRestComponent::InitFromConfigFile();
+
+ if (fVariables.size() != 1) {
+ RESTError << "TRestAxionHelioscopeSignal::InitFromConfigFile."
+ << " Signal should be build with just 1-variable. Energy." << RESTendl;
+ } else if (fVariables[0] != "energy") {
+ RESTError << "The first variable should be energy. We recommend to name that variable as \"energy\"."
+ << RESTendl;
+ RESTError << "Please, double-check the variables definition inside "
+ "TRestAxionHelioscopeSignal::TRestComponent."
+ << RESTendl;
+ }
+
+ if (fFlux) {
+ delete fFlux;
+ fFlux = nullptr;
+ }
+ fFlux = (TRestAxionSolarFlux*)this->InstantiateChildMetadata("TRestAxionSolarQCDFlux");
+ fFlux->Initialize();
+
+ if (fGas) {
+ delete fGas;
+ fGas = nullptr;
+ }
+ fGas = (TRestAxionBufferGas*)this->InstantiateChildMetadata("TRestAxionBufferGas");
+
+ if (fField == nullptr) fField = new TRestAxionField();
+
+ fField->SetMagneticField(GetMagnetStrength());
+ fField->SetCoherenceLength(GetMagnetLength());
+ fField->AssignBufferGas(fGas);
+
+ TRestAxionHelioscopeSignal::Initialize();
+}
diff --git a/src/TRestAxionMagneticField.cxx b/src/TRestAxionMagneticField.cxx
index 4f15d0f4..f16fc252 100644
--- a/src/TRestAxionMagneticField.cxx
+++ b/src/TRestAxionMagneticField.cxx
@@ -759,7 +759,7 @@ TCanvas* TRestAxionMagneticField::DrawTracks(TVector3 vanishingPoint, Int_t divi
position = MoveToPlane(position, direction, TVector3(0, 0, 1), TVector3(0, 0, finalPositionZ));
gr->SetPoint(1, finalPositionZ, position.Y());
- gr->SetLineWidth(1.5);
+ gr->SetLineWidth(2);
gr->Draw("L");
grB->SetLineColor(38 + n);
n++;
diff --git a/src/TRestAxionSolarFlux.cxx b/src/TRestAxionSolarFlux.cxx
index a2e0ccd6..7c691cd5 100644
--- a/src/TRestAxionSolarFlux.cxx
+++ b/src/TRestAxionSolarFlux.cxx
@@ -122,8 +122,7 @@ TRestAxionSolarFlux::~TRestAxionSolarFlux() {}
void TRestAxionSolarFlux::Initialize() {
SetLibraryVersion(LIBRARY_VERSION);
- fTablesLoaded = false;
- if (LoadTables()) fTablesLoaded = true;
+ if (!fTablesLoaded) LoadTables();
if (!fRandom) {
delete fRandom;
@@ -186,6 +185,14 @@ TCanvas* TRestAxionSolarFlux::DrawFluxFile(string fname, Double_t binSize) {
return fCanvas;
}
+///////////////////////////////////////////////
+/// \brief It returns a flux in cm-2 s-1 keV-1 at the energy given by argument
+///
+Double_t TRestAxionSolarFlux::GetFluxAtEnergy(Double_t energy, Double_t m) {
+ TH1F* h = GetEnergySpectrum(m);
+ return h->GetBinContent(h->FindBin(energy));
+}
+
///////////////////////////////////////////////
/// \brief It draws the contents of a .flux file. This method just receives the
///
diff --git a/src/TRestAxionSolarQCDFlux.cxx b/src/TRestAxionSolarQCDFlux.cxx
index 5cdd2d46..f96a0eba 100644
--- a/src/TRestAxionSolarQCDFlux.cxx
+++ b/src/TRestAxionSolarQCDFlux.cxx
@@ -252,6 +252,8 @@ TRestAxionSolarQCDFlux::~TRestAxionSolarQCDFlux() {}
Bool_t TRestAxionSolarQCDFlux::LoadTables() {
if (fFluxDataFile == "" && fFluxSptFile == "") return false;
+ if (fTablesLoaded) return true;
+
if (TRestTools::GetFileNameExtension(fFluxDataFile) == "flux") {
ReadFluxFile();
} else {
@@ -261,6 +263,8 @@ Bool_t TRestAxionSolarQCDFlux::LoadTables() {
IntegrateSolarFluxes();
+ fTablesLoaded = true;
+
return true;
}