From 8e830bc9c32f33937003d524be60127eb31a52f4 Mon Sep 17 00:00:00 2001 From: Nicolas de Sereville <deserevi@ipno.in2p3.fr> Date: Wed, 25 Nov 2015 11:30:27 +0100 Subject: [PATCH] + Add TSplitPoleSpectra support to TSplitPolePhysics --- NPAnalysis/SPcoincW1/Analysis.cxx | 2 +- NPLib/SplitPole/CMakeLists.txt | 4 +-- NPLib/SplitPole/TSplitPolePhysics.cxx | 38 ++++++++++++++++++++------- NPLib/SplitPole/TSplitPolePhysics.h | 12 +++++++++ NPLib/W1/TW1Physics.h | 2 +- 5 files changed, 44 insertions(+), 14 deletions(-) diff --git a/NPAnalysis/SPcoincW1/Analysis.cxx b/NPAnalysis/SPcoincW1/Analysis.cxx index a1b0f3fe2..d5a927dcc 100644 --- a/NPAnalysis/SPcoincW1/Analysis.cxx +++ b/NPAnalysis/SPcoincW1/Analysis.cxx @@ -49,7 +49,7 @@ Analysis::~Analysis() //////////////////////////////////////////////////////////////////////////////// void Analysis::Init() { - m_W1 = (TW1Physics*) m_DetectorManager->GetDetector("W1"); +// m_W1 = (TW1Physics*) m_DetectorManager->GetDetector("W1"); m_SP = (TSplitPolePhysics*) m_DetectorManager->GetDetector("SplitPole"); } diff --git a/NPLib/SplitPole/CMakeLists.txt b/NPLib/SplitPole/CMakeLists.txt index 62d9d8e7f..796cbb1cd 100644 --- a/NPLib/SplitPole/CMakeLists.txt +++ b/NPLib/SplitPole/CMakeLists.txt @@ -1,6 +1,6 @@ add_custom_command(OUTPUT TSplitPolePhysicsDict.cxx COMMAND ../scripts/build_dict.sh TSplitPolePhysics.h TSplitPolePhysicsDict.cxx TSplitPolePhysics.rootmap libNPSplitPole.dylib DEPENDS TSplitPolePhysics.h) add_custom_command(OUTPUT TSplitPoleDataDict.cxx COMMAND ../scripts/build_dict.sh TSplitPoleData.h TSplitPoleDataDict.cxx TSplitPoleData.rootmap libNPSplitPole.dylib DEPENDS TSplitPoleData.h) -add_library(NPSplitPole SHARED TSplitPoleData.cxx TSplitPolePhysics.cxx TSplitPoleDataDict.cxx TSplitPolePhysicsDict.cxx ) +add_library(NPSplitPole SHARED TSplitPoleSpectra.cxx TSplitPoleData.cxx TSplitPolePhysics.cxx TSplitPoleDataDict.cxx TSplitPolePhysicsDict.cxx ) target_link_libraries(NPSplitPole ${ROOT_LIBRARIES} NPCore) -install(FILES TSplitPoleData.h TSplitPolePhysics.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) +install(FILES TSplitPoleData.h TSplitPolePhysics.h TSplitPoleSpectra.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) diff --git a/NPLib/SplitPole/TSplitPolePhysics.cxx b/NPLib/SplitPole/TSplitPolePhysics.cxx index 14c462716..6b4250ebe 100644 --- a/NPLib/SplitPole/TSplitPolePhysics.cxx +++ b/NPLib/SplitPole/TSplitPolePhysics.cxx @@ -39,8 +39,8 @@ using namespace std; // ROOT #include "TChain.h" -ClassImp(TSplitPolePhysics) +ClassImp(TSplitPolePhysics) /////////////////////////////////////////////////////////////////////////// @@ -134,9 +134,14 @@ void TSplitPolePhysics::AddParameterToCalibrationManager() void TSplitPolePhysics::InitializeRootInputRaw() { TChain* inputChain = RootInput::getInstance()->GetChain(); - inputChain->SetBranchStatus("SplitPole" , true); - inputChain->SetBranchStatus("fSplitPole_*", true); - inputChain->SetBranchAddress("SplitPole" , &m_EventData); + inputChain->SetBranchStatus("SplitPole", true); + inputChain->SetBranchStatus("fPosition", true); + inputChain->SetBranchStatus("fBrho", true); + inputChain->SetBranchStatus("fDeltaE", true); + inputChain->SetBranchStatus("fWire", true); + inputChain->SetBranchStatus("fPlasticP", true); + inputChain->SetBranchStatus("fPlasticG", true); + inputChain->SetBranchAddress("SplitPole", &m_EventData); } @@ -302,7 +307,7 @@ void TSplitPolePhysics::ReadAnalysisConfig() /////////////////////////////////////////////////////////////////////////// void TSplitPolePhysics::InitSpectra() { -// m_Spectra = new TSplitPoleSpectra(m_NumberOfDetectors); + m_Spectra = new TSplitPoleSpectra(); } @@ -310,9 +315,9 @@ void TSplitPolePhysics::InitSpectra() /////////////////////////////////////////////////////////////////////////// void TSplitPolePhysics::FillSpectra() { -// m_Spectra->FillRawSpectra(m_EventData); -// m_Spectra->FillPreTreatedSpectra(m_PreTreatedData); -// m_Spectra->FillPhysicsSpectra(m_EventPhysics); + m_Spectra->FillRawSpectra(m_EventData); + m_Spectra->FillPreTreatedSpectra(m_PreTreatedData); + m_Spectra->FillPhysicsSpectra(m_EventPhysics); } @@ -320,7 +325,7 @@ void TSplitPolePhysics::FillSpectra() /////////////////////////////////////////////////////////////////////////// void TSplitPolePhysics::CheckSpectra() { -// m_Spectra->CheckSpectra(); + m_Spectra->CheckSpectra(); } @@ -336,7 +341,20 @@ void TSplitPolePhysics::ClearSpectra() /////////////////////////////////////////////////////////////////////////// void TSplitPolePhysics::WriteSpectra() { -// m_Spectra->WriteSpectra(); + m_Spectra->WriteSpectra(); +} + + + +/////////////////////////////////////////////////////////////////////////// +map<string, TH1*> TSplitPolePhysics::GetSpectra() +{ + if (m_Spectra) + return m_Spectra->GetMapHisto(); + else { + map< string , TH1*> empty; + return empty; + } } diff --git a/NPLib/SplitPole/TSplitPolePhysics.h b/NPLib/SplitPole/TSplitPolePhysics.h index cae3aae3e..66b86b3f3 100644 --- a/NPLib/SplitPole/TSplitPolePhysics.h +++ b/NPLib/SplitPole/TSplitPolePhysics.h @@ -23,16 +23,22 @@ *****************************************************************************/ // STL #include <vector> +#include <map> using namespace std; // ROOT #include "TObject.h" +#include "TH1.h" // NPL #include "TSplitPoleData.h" +#include "TSplitPoleSpectra.h" #include "NPVDetector.h" #include "NPCalibrationManager.h" +// forward declaration +class TSplitPoleSpectra; + class TSplitPolePhysics : public TObject, public NPL::VDetector { @@ -155,6 +161,12 @@ class TSplitPolePhysics : public TObject, public NPL::VDetector Double_t m_CalibP1; //! + private: // Spectra Class + TSplitPoleSpectra* m_Spectra; // ! + + public: // Spectra Getter + map<string, TH1*> GetSpectra(); + public: // Static constructor to be passed to the Detector Factory static NPL::VDetector* Construct(); diff --git a/NPLib/W1/TW1Physics.h b/NPLib/W1/TW1Physics.h index b86001c1b..1d32c919f 100644 --- a/NPLib/W1/TW1Physics.h +++ b/NPLib/W1/TW1Physics.h @@ -24,7 +24,7 @@ // C++ headers #include <vector> #include <map> -using namespace std ; +using namespace std; // ROOT headers #include "TObject.h" -- GitLab