/** * @file SDeltaT.cpp * @author Nick Ryder * @date 02 Nov 2016 */ #include "SDeltaT.h" //============================================================================== //! Constructor setting up default values. SDeltaT::SDeltaT(SDetector * dtr, SClipboard * cb) : ISAlgorithm(dtr, cb, "SDeltaT"), timeblocks(NULL), m_last(0), m_first(true) { h_dt = new TH1F("h_dt", "", 1000, 0, 40000); h_dt->SetXTitle("#Delta t [samples]"); h_dhtime = new TH1F("h_dhtime", "", 1000, 0, 1); h_dhtime->SetXTitle("#Delta t [s]"); } //============================================================================== //! Empty initialize. void SDeltaT::initialize() { timeblocks = cb()->timeblocks(); } //============================================================================== //! Empty execute. void SDeltaT::execute() { if (m_first) { m_last = timeblocks->at(0)->timestamp(); m_first = false; return; } uint64_t t = timeblocks->at(0)->timestamp(); uint64_t dt = t - m_last; double ddt = (double) dt; h_dt->Fill(ddt); ddt *= 25e-9; h_dhtime->Fill(ddt); std::cout << "Delta t = " << std::hex << dt << ", " << std::dec << dt << std::endl; m_last = t; } //============================================================================== //! Empty finalize. void SDeltaT::finalize() { //std::cout<<"[Note]: Hello world from SDeltaT::finalize()"<histosFile()->cd(name().c_str()); h_dt->Write(); h_dhtime->Write(); } //==============================================================================