diff --git a/NPAnalysis/SPcoincW1/Analysis.cxx b/NPAnalysis/SPcoincW1/Analysis.cxx index a1b0f3fe20c115dc73d7e6f7cde42826ba959f2b..d5a927dccc2230af144fe9eddcd14970d0fefe5c 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 62d9d8e7f5f729d43791167b06239ad4f744cd6b..796cbb1cdee9ee3982d4d24cb14587c63a9823f7 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 14c462716dd58d7095e9b0df164617a3ebc38908..6b4250ebeca1413c23d45e4f9c80ec8d47551de4 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 cae3aae3e6ce5fa406c042ff6fc974e8f2a2fe50..66b86b3f36fc3da1169c0e09b5956fb65a3a55a5 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 b86001c1ba8f1f360862c8ea93bae8e0649dc1a7..1d32c919f51f133f3a421684ddf33be722dcd63c 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"