23#ifndef RestCore_TRestWimpSensitivity
24#define RestCore_TRestWimpSensitivity
27#include <TRestMetadata.h>
28#include <TRestWimpNucleus.h>
73 bool isEnergySpectraWideEnough();
76 std::map<std::string, TH1D*>
GetRecoilSpectra(
const double wimpMass,
const double crossSection);
79 inline std::vector<TRestWimpNucleus>& GetNuclei() {
return fNuclei; };
87 inline auto GetExposure() {
return fExposure; }
91 void SetNuclei(
const std::vector<TRestWimpNucleus>& nuclei) {
fNuclei = nuclei; }
92 void SetEnergySpectra(
const TVector2& energySpectra) {
fEnergySpectra = energySpectra; }
93 void SetEnergySpectraStep(
const Double_t energySpectraStep) {
fEnergySpectraStep = energySpectraStep; }
94 void SetEnergyRange(
const TVector2& energyRange) {
fEnergyRange = energyRange; }
95 void SetWimpDensity(
const Double_t wimpDensity) {
fWimpDensity = wimpDensity; }
96 void SetLabVelocity(
const Double_t labVelocity) {
fLabVelocity = labVelocity; }
97 void SetEscapeVelocity(
const Double_t escapeVelocity) {
fEscapeVelocity = escapeVelocity; }
98 void SetRmsVelocity(
const Double_t rmsVelocity) {
fRmsVelocity = rmsVelocity; }
99 void SetExposure(
const Double_t exposure) {
fExposure = exposure; }
100 void SetBackground(
const Double_t background) {
fBackground = background; }
101 void SetUseQuenchingFactor(
const Bool_t useQuenchingFactor) {
fUseQuenchingFactor = useQuenchingFactor; }
void Initialize() override
Initialization of TRestWimpSensitivity members.
Double_t fExposure
Detector exposure in kg*day.
~TRestWimpSensitivity()
Default destructor.
void InitFromConfigFile() override
Initialization of TRestWimpSensitivity members through a RML file.
std::map< std::string, TH1D * > GetRecoilSpectra(const double wimpMass, const double crossSection)
Get recoil spectra for a given WIMP mass and cross section Better performance version (velocity integ...
Double_t fEscapeVelocity
WIMP escape velocity (km/s)
TVector2 fEnergySpectra
Energy range for the recoil spectra in keV.
Double_t fEnergySpectraStep
Energy step for the recoil spectra in keV.
void PrintMetadata() override
Prints on screen the details about WIMP parameters, stored in TRestWimpSensitivity.
const Double_t GetSensitivity(const double wimpMass)
Get sensitivity for a give WIMP mass.
TVector2 fEnergyRange
Energy range for the sensitivity prospects in keV.
Double_t fBackground
Detector background level in c/keV/day.
std::map< std::string, TH1D * > quenchingFactor
Map containing quenching factor for a nucleus.
void CalculateQuenchingFactor()
Calculate Quenching factor and stores in a map.
Bool_t fUseQuenchingFactor
Use or not quenching factor.
Double_t fRmsVelocity
WIMP RMS velocity (km/s)
Double_t fWimpDensity
WIMP density in GeV/cm3.
Double_t fLabVelocity
WIMP velocity in the lab (Earth) frame reference in km/s.
void ReadNuclei()
Initialization of TRestWimpSensitivity members through a RML file.
TRestWimpSensitivity(const char *configFilename, const std::string &name="")
Constructor loading data from a config file.
std::map< std::string, TH1D * > GetFormFactor()
Return a map of histograms with the Form Factor of the different elements.
const std::string BuildOutputFileName(const std::string &extension=".txt")
Return output file format with different parameters used in the calculation.
std::vector< TRestWimpNucleus > fNuclei
A vector containing TRestWimpNucleus with different nucleus parameters.