diff --git a/source/digits_hits/include/GateOutputMgr.hh b/source/digits_hits/include/GateOutputMgr.hh index 854313bd2..dbf7ea628 100644 --- a/source/digits_hits/include/GateOutputMgr.hh +++ b/source/digits_hits/include/GateOutputMgr.hh @@ -101,7 +101,7 @@ public: //! Static getter and setter to know the current mode of the digitizer inline static DigiMode GetDigiMode() { return m_digiMode;} - inline static void SetDigiMode(DigiMode mode) { m_digiMode = mode; } + inline static void SetDigiMode(DigiMode mode) { m_digiMode = mode;} GateVOutputModule* GetModule(G4String); //! Call in startDAQ, this function search for all output module inserted diff --git a/source/digits_hits/src/GateCoincidenceSorter.cc b/source/digits_hits/src/GateCoincidenceSorter.cc index 061068b77..61dbb04b0 100644 --- a/source/digits_hits/src/GateCoincidenceSorter.cc +++ b/source/digits_hits/src/GateCoincidenceSorter.cc @@ -278,13 +278,27 @@ void GateCoincidenceSorter::Digitize() //------ put input digis in sorted input buffer---------- + if (nVerboseLevel > 1) { + G4cout<<"GateCoincidenceSorter::Digitize. Putting input digis in sorted input buffer"<begin();gpl_iter != IDCvector->end();gpl_iter++) { // make a copy of the digi digi = new GateDigi(**gpl_iter); + if (nVerboseLevel > 1) { + G4cout<<"[GateCoincidenceSorter::Digitize] EventID "<< digi->GetEventID()< 2) { + G4cout << "[GateCoincidenceSorter::Digitize] Input digi \n" + << *digi << Gateendl << Gateendl ; + + } if(m_presortBuffer.empty()) - m_presortBuffer.push_back(digi); + m_presortBuffer.push_back(digi); else if(digi->GetTime() < m_presortBuffer.back()->GetTime()) // check that even isn't earlier than the earliest event in the buffer { if(!m_presortWarning) @@ -298,13 +312,18 @@ void GateCoincidenceSorter::Digitize() while(digi->GetTime() < (*buf_iter)->GetTime()) buf_iter++; m_presortBuffer.insert(buf_iter, digi); - // G4cout<<"presortBuffer filled in position "<GetTime()<GetTime()/ns< 3) + { + G4cout<<"presortBuffer filled in position "<GetTime()<GetTime()/ns< 1) + G4cout<<"[GateCoincidenceSorter::Digitize] Analyzing the presort buffer..."< m_presortBufferSize;i--) @@ -375,6 +394,13 @@ void GateCoincidenceSorter::Digitize() delete digi; } + if (nVerboseLevel>1) { + G4cout << "[GateCoincidenceSorter::Digitizer]: returning output coincidence digi collection with " << m_OutputCoincidenceDigiCollection->GetSize () << " entries\n"; + //for (iter=m_OutputCoincidenceDigiCollection->begin(); iter!= m_OutputCoincidenceDigiCollection->end() ; ++iter) + //G4cout << **iter << Gateendl; + //G4cout << Gateendl; + } + StoreDigiCollection(m_OutputCoincidenceDigiCollection); } diff --git a/source/digits_hits/src/GateOutputMgr.cc b/source/digits_hits/src/GateOutputMgr.cc index e587b3f32..289bd9440 100644 --- a/source/digits_hits/src/GateOutputMgr.cc +++ b/source/digits_hits/src/GateOutputMgr.cc @@ -88,12 +88,10 @@ GateOutputMgr::GateOutputMgr(const G4String name) AddOutputModule((GateVOutputModule*)gateFastAnalysis); } #endif - - if (m_digiMode==kruntimeMode) { - GateAnalysis* gateAnalysis = new GateAnalysis("analysis", this,m_digiMode); + //commented for offline digi by OK for GND feb 2026 if (m_digiMode==kruntimeMode) { + GateAnalysis* gateAnalysis = new GateAnalysis("analysis", this,m_digiMode); AddOutputModule((GateVOutputModule*)gateAnalysis); - - } + //} #ifdef G4ANALYSIS_USE_FILE @@ -160,7 +158,6 @@ GateVOutputModule* GateOutputMgr::FindOutputModule(G4String name) for(G4int i=0;iGetName(); - //G4cout << moduleName << " "<< name<< G4endl; if(moduleName == name) return m_outputModules[i]; } @@ -262,14 +259,24 @@ void GateOutputMgr::RecordBeginOfAcquisition() G4cout << "GateOutputMgr::RecordBeginOfAcquisition\n"; //OK GND GateDigitizerMgr* digitizerMgr=GateDigitizerMgr::GetInstance(); + /*if (m_digiMode==kruntimeMode) + {*/ if((digitizerMgr->m_recordSingles|| digitizerMgr->m_recordCoincidences) && !this->FindOutputModule("analysis")->IsEnabled() && !this->FindOutputModule("fastanalysis")->IsEnabled()) { GateError("***ERROR*** Digitizer Manager is not initialized properly. Please, enable analysis or fastanalysis Output Modules to write down Singles or Coincidences.\n Use, /gate/output/analysis/enable or /gate/output/fastanalysis/enable.\n"); } - - + /*} + else + { + G4cout<<"**************************"<m_recordSingles << " "<< digitizerMgr->m_recordCoincidences<m_recordSingles|| !digitizerMgr->m_recordCoincidences) + { + GateError("***ERROR: Digi MODE *** Digitizer Manager is not initialized properly. The output flag is set to 0 for both Signles and Coincidences. \n"); + } + } +*/ #ifdef G4ANALYSIS_USE_ROOT if (m_digiMode==kofflineMode) GateHitFileReader::GetInstance()->PrepareAcquisition();