diff --git a/NPLib/Exogam/TExogamData.h b/NPLib/Exogam/TExogamData.h index 087b0d339e11a87b6aa08dbfa95599b92db8aef6..79ca7251389d9bda6f6a829b1ed70d638f67b5f4 100644 --- a/NPLib/Exogam/TExogamData.h +++ b/NPLib/Exogam/TExogamData.h @@ -52,7 +52,7 @@ class TExogamData : public TObject { vector<UShort_t> fEXO_GOCCE_T_Time; // GeFill UShort_t fEXO_Fill; - + int m_NumberOfClover; public: TExogamData(); virtual ~TExogamData(); diff --git a/NPLib/Exogam/TExogamPhysics.cxx b/NPLib/Exogam/TExogamPhysics.cxx index ead6899941a3af0d3a8c7f91235b932b71167bff..3e38d68434a47626f15ac57b20ee59cafa6893da 100644 --- a/NPLib/Exogam/TExogamPhysics.cxx +++ b/NPLib/Exogam/TExogamPhysics.cxx @@ -47,6 +47,8 @@ TExogamPhysics::TExogamPhysics() GOCCE_Multiplicity = 0 ; NumberOfHitClover = 0 ; NumberOfHitCristal = 0 ; + m_Spectra = NULL; + NumberOfClover=0; PreTreatedData = new TExogamData ; EventData = new TExogamData ; @@ -529,6 +531,29 @@ void TExogamPhysics::ReadConfiguration(string Path) } +/////////////////////////////////////////////////////////////////////////// +void TExogamPhysics::InitSpectra(){ + m_Spectra = new TExogamSpectra(NumberOfClover); +} + +/////////////////////////////////////////////////////////////////////////// +void TExogamPhysics::FillSpectra(){ + m_Spectra -> FillRawSpectra(EventData); + m_Spectra -> FillPreTreatedSpectra(PreTreatedData); + m_Spectra -> FillPhysicsSpectra(EventPhysics); +} +/////////////////////////////////////////////////////////////////////////// +void TExogamPhysics::CheckSpectra(){ + m_Spectra->CheckSpectra(); +} +/////////////////////////////////////////////////////////////////////////// +void TExogamPhysics::ClearSpectra(){ + // To be done +} +/////////////////////////////////////////////////////////////////////////// +map< vector<TString> , TH1*> TExogamPhysics::GetSpectra() { +return m_Spectra->GetMapHisto(); +} void TExogamPhysics::AddClover(string AngleFile) { diff --git a/NPLib/Exogam/TExogamPhysics.h b/NPLib/Exogam/TExogamPhysics.h index a76843b950a3fe5ae63bdeeb247557522308c02d..3df040d943c774ea90de9f4445b79e9284960185 100644 --- a/NPLib/Exogam/TExogamPhysics.h +++ b/NPLib/Exogam/TExogamPhysics.h @@ -30,7 +30,7 @@ #include "../include/CalibrationManager.h" #include "../include/VDetector.h" #include "TExogamData.h" - +#include "TExogamSpectra.h" // ROOT #include "TVector2.h" #include "TVector3.h" @@ -38,6 +38,8 @@ //#include "TH1.h" using namespace std ; +// Forward Declaration +class TExogamSpectra; class TExogamPhysics : public TObject, public NPA::VDetector { @@ -129,6 +131,16 @@ class TExogamPhysics : public TObject, public NPA::VDetector void ClearEventData() {EventData->Clear();} void ClearPreTreatedData() {PreTreatedData->Clear();} + // Method related to the TSpectra classes, aimed at providing a framework for online applications + // Instantiate the Spectra class and the histogramm throught it + void InitSpectra(); + // Fill the spectra hold by the spectra class + void FillSpectra(); + // Used for Online mainly, perform check on the histo and for example change their color if issues are found + void CheckSpectra(); + // Used for Online only, clear all the spectra hold by the Spectra class + void ClearSpectra(); + private: // Root Input and Output tree classes @@ -148,7 +160,11 @@ class TExogamPhysics : public TObject, public NPA::VDetector Double_t GetSegmentAnglePhi(int Clover, int Cristal, int Segment) {return(Clover_Angles_Theta_Phi[Clover][Cristal][Segment][1]);}; Double_t GetSegmentAngleTheta(int Clover, int Cristal, int Segment) {return(Clover_Angles_Theta_Phi[Clover][Cristal][Segment][0]);}; - + private: // Spectra Class + TExogamSpectra* m_Spectra;//! + + public: // Spectra Getter + map< vector<TString> , TH1*> GetSpectra(); ClassDef(TExogamPhysics,1) // ExogamPhysics structure };