Skip to content
Snippets Groups Projects
Commit 8ec7ff3b authored by Pierre Morfouace's avatar Pierre Morfouace
Browse files

Updating TExogam to handle new config file and geometry file

parent 551ef1da
No related branches found
No related tags found
1 merge request!27Draft: [Epic] Preparation of the environement for the new GaseousDetectorScorers...
Pipeline #336653 passed
...@@ -39,23 +39,23 @@ class TExogamData : public TObject { ...@@ -39,23 +39,23 @@ class TExogamData : public TObject {
public: public:
std::vector<unsigned int> fExo_Crystal; std::vector<unsigned int> fExo_Crystal;
std::vector<unsigned int> fExo_E; std::vector<float> fExo_E;
std::vector<unsigned int> fExo_E_HG; // High gain x20 std::vector<float> fExo_E_HG; // High gain x20
std::vector<unsigned long long> fExo_TS; std::vector<unsigned long long> fExo_TS;
std::vector<unsigned int> fExo_TDC; std::vector<float> fExo_TDC;
std::vector<unsigned int> fExo_BGO; std::vector<unsigned int> fExo_BGO;
std::vector<unsigned int> fExo_CsI; std::vector<unsigned int> fExo_CsI;
std::vector<unsigned int> fExo_Outer1; std::vector<float> fExo_Outer1;
std::vector<unsigned int> fExo_Outer2; std::vector<float> fExo_Outer2;
std::vector<unsigned int> fExo_Outer3; std::vector<float> fExo_Outer3;
std::vector<unsigned int> fExo_Outer4; std::vector<float> fExo_Outer4;
///////////////////// SETTERS //////////////////////// ///////////////////// SETTERS ////////////////////////
inline void SetExo(const unsigned int& Crystal,const unsigned int& Energy, inline void SetExo(const unsigned int& Crystal,const float& Energy,
const unsigned int& Energy_HG,const unsigned long long& TS,const unsigned int& TDC, const float& Energy_HG,const unsigned long long& TS,const float& TDC,
const unsigned int& BGO,const unsigned int& CsI,const unsigned int& Outer1, const unsigned int& BGO,const unsigned int& CsI,const float& Outer1,
const unsigned int& Outer2,const unsigned int& Outer3,const unsigned int& Outer4) { const float& Outer2,const float& Outer3,const float& Outer4) {
fExo_Crystal.push_back(Crystal); fExo_Crystal.push_back(Crystal);
fExo_E.push_back(Energy); fExo_E.push_back(Energy);
fExo_E_HG.push_back(Energy_HG); fExo_E_HG.push_back(Energy_HG);
...@@ -71,16 +71,16 @@ class TExogamData : public TObject { ...@@ -71,16 +71,16 @@ class TExogamData : public TObject {
///////////////////// GETTERS //////////////////////// ///////////////////// GETTERS ////////////////////////
inline unsigned int GetExoMult() { return fExo_Crystal.size(); } inline unsigned int GetExoMult() { return fExo_Crystal.size(); }
inline unsigned int GetExoCrystal(const unsigned int& i) const { return fExo_Crystal[i]; } inline unsigned int GetExoCrystal(const unsigned int& i) const { return fExo_Crystal[i]; }
inline unsigned int GetExoE(const unsigned int& i) const { return fExo_E[i]; } inline float GetExoE(const unsigned int& i) const { return fExo_E[i]; }
inline unsigned int GetExoEHG(const unsigned int& i) const { return fExo_E_HG[i]; } inline float GetExoEHG(const unsigned int& i) const { return fExo_E_HG[i]; }
inline unsigned long long GetExoTS(const unsigned int& i) const { return fExo_TS[i]; } inline unsigned long long GetExoTS(const unsigned int& i) const { return fExo_TS[i]; }
inline unsigned int GetExoTDC(const unsigned int& i) const { return fExo_TDC[i]; } inline float GetExoTDC(const unsigned int& i) const { return fExo_TDC[i]; }
inline unsigned int GetExoBGO(const unsigned int& i) const { return fExo_BGO[i]; } inline unsigned int GetExoBGO(const unsigned int& i) const { return fExo_BGO[i]; }
inline unsigned int GetExoCsI(const unsigned int& i) const { return fExo_CsI[i]; } inline unsigned int GetExoCsI(const unsigned int& i) const { return fExo_CsI[i]; }
inline unsigned int GetExoOuter1(const unsigned int& i) const { return fExo_Outer1[i]; } inline float GetExoOuter1(const unsigned int& i) const { return fExo_Outer1[i]; }
inline unsigned int GetExoOuter2(const unsigned int& i) const { return fExo_Outer2[i]; } inline float GetExoOuter2(const unsigned int& i) const { return fExo_Outer2[i]; }
inline unsigned int GetExoOuter3(const unsigned int& i) const { return fExo_Outer3[i]; } inline float GetExoOuter3(const unsigned int& i) const { return fExo_Outer3[i]; }
inline unsigned int GetExoOuter4(const unsigned int& i) const { return fExo_Outer4[i]; } inline float GetExoOuter4(const unsigned int& i) const { return fExo_Outer4[i]; }
ClassDef(TExogamData, 1) // ExogamData structure ClassDef(TExogamData, 1) // ExogamData structure
}; };
......
This diff is collapsed.
...@@ -71,7 +71,7 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys ...@@ -71,7 +71,7 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
std::vector<double> Outer4; std::vector<double> Outer4;
std::vector<unsigned int> Flange; std::vector<unsigned int> Flange;
std::vector<unsigned int> Crystal; std::vector<unsigned int> Crystal;
std::vector<unsigned int> TDC; std::vector<double> TDC;
std::vector<unsigned long long> TS; std::vector<unsigned long long> TS;
// Previous treatment + Add_Back (size of vectors are not the same because of AB !) // Previous treatment + Add_Back (size of vectors are not the same because of AB !)
...@@ -84,7 +84,7 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys ...@@ -84,7 +84,7 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
// Crystal with highest E // Crystal with highest E
std::vector<unsigned int> Crystal_AB; std::vector<unsigned int> Crystal_AB;
// TDC AddBack // TDC AddBack
std::vector<unsigned int> TDC_AB; std::vector<double> TDC_AB;
// TS AddBack // TS AddBack
std::vector<unsigned long long> TS_AB; std::vector<unsigned long long> TS_AB;
// Outer with highest E // Outer with highest E
...@@ -138,6 +138,9 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys ...@@ -138,6 +138,9 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
double DopplerCorrection(double Energy, double Theta); //! double DopplerCorrection(double Energy, double Theta); //!
/// Routine for doppler correction
double CorrectionDoppler(double theta_gamma, double phi_gamma, double theta_part, double phi_part, double beta_part, double E); //!
bool TDCMatch(unsigned int event); //! bool TDCMatch(unsigned int event); //!
// Those two method all to clear the Event Physics or Data // Those two method all to clear the Event Physics or Data
...@@ -244,8 +247,9 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys ...@@ -244,8 +247,9 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
double m_EXO_E_Threshold;//! double m_EXO_E_Threshold;//!
double m_EXO_EHG_RAW_Threshold;//! double m_EXO_EHG_RAW_Threshold;//!
double m_EXO_TDC_RAW_Threshold;//! double m_EXO_TDC_RAW_Threshold;//!
int m_ExoTDC_LowThreshold;//! double m_ExoTDC_LowThreshold;//!
int m_ExoTDC_HighThreshold;//! double m_ExoTDC_HighThreshold;//!
int m_NumberOfClovers;//!
double EXO_E;//! double EXO_E;//!
double EXO_EHG;//! double EXO_EHG;//!
double EXO_TDC;//! double EXO_TDC;//!
...@@ -256,7 +260,9 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys ...@@ -256,7 +260,9 @@ class TExogamPhysics : public TObject, public NPL::VDetector, public TExogamPhys
unsigned int flange_nbr;//! unsigned int flange_nbr;//!
unsigned int crystal_nbr;//! unsigned int crystal_nbr;//!
double Beta = 0.257;//! double Beta = 0.257;//!
vector<TVector3> m_pos_segment[4][4];//!
vector<int> m_flange;//!
map<unsigned int, int> MapFlangeToCloverNumber;//!
Clover_struc Exogam_struc;//! Clover_struc Exogam_struc;//!
std::map<unsigned int,std::pair<unsigned int,unsigned int>> MapCrystalFlangeCLover;//! Map key is raw crystal nbr, pair associated is flange nbr and crystal nbr in the flange std::map<unsigned int,std::pair<unsigned int,unsigned int>> MapCrystalFlangeCLover;//! Map key is raw crystal nbr, pair associated is flange nbr and crystal nbr in the flange
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment