1
0
Fork 0
mirror of https://github.com/gwm17/Mask.git synced 2024-11-13 14:08:49 -05:00
Mask/include/SabreEfficiency.h

53 lines
1.7 KiB
C
Raw Normal View History

2020-11-16 13:38:39 -05:00
#ifndef SABREEFFICIENCY_H
#define SABREEFFICIENCY_H
#include "DetectorEfficiency.h"
2020-11-16 13:38:39 -05:00
#include "SabreDetector.h"
#include "Target.h"
#include "DeadChannelMap.h"
#include "Kinematics.h"
#include <THashTable.h>
2020-11-16 13:38:39 -05:00
class SabreEfficiency : public DetectorEfficiency {
2020-11-16 13:38:39 -05:00
public:
SabreEfficiency();
~SabreEfficiency();
void SetDeadChannelMap(std::string& filename) { dmap.LoadMapfile(filename); };
void CalculateEfficiency(const std::string& file) override;
void DrawDetectorSystem(const std::string& filename) override;
double RunConsistencyCheck() override;
2020-11-16 13:38:39 -05:00
private:
std::pair<bool,double> IsSabre(Mask::NucData* nucleus);
void Run2Step(const std::string& filename) override;
void Run3Step(const std::string& filename) override;
void RunDecay(const std::string& filename) override;
void Run1Step(const std::string& filename) override;
2020-11-16 13:38:39 -05:00
std::vector<SabreDetector> detectors;
Target deadlayer;
Target sabre_eloss;
DeadChannelMap dmap;
2020-11-16 13:38:39 -05:00
//Sabre constants
const double INNER_R = 0.0326;
const double OUTER_R = 0.1351;
const double TILT = 40.0;
const double DIST_2_TARG = -0.1245;
2020-11-16 13:38:39 -05:00
const double PHI_COVERAGE = 54.4; //delta phi for each det
const double PHI0 = 234.0; //center phi values for each det in array
const double PHI1 = 162.0; //# is equal to detID in channel map
const double PHI2 = 306.0;
const double PHI3 = 18.0;
const double PHI4 = 90.0;
2020-11-16 13:38:39 -05:00
const double DEG2RAD = M_PI/180.0;
static constexpr double DEADLAYER_THIN = 50 * 1e-7 * 2.3296 * 1e6; // ug/cm^2 (50 nm thick * density)
static constexpr double SABRE_THICKNESS = 500 * 1e-4 * 2.3926 * 1e6; // ug/cm^2 (500 um thick * density)
2020-11-16 13:38:39 -05:00
const double ENERGY_THRESHOLD = 0.2; //in MeV
2020-11-16 13:38:39 -05:00
};
#endif