///////////////////////////////////////////////////////////////////////// // Conditional return on the nhit value. Basic TELLIE monitoring; writes // a file to disk containing an estimate of the central position of // direct and reflected events, assuming a single fibre has been fired. // // Author: Matt Mottram // // REVISION HISTORY: // 2014-03-18 : M. Mottram: new revision // ///////////////////////////////////////////////////////////////////////// #ifndef __RAT_TellieMonitorProc__ #define __RAT_TellieMonitorProc__ #include #include namespace RAT { class TellieMonitorProc : public Processor { public: // Constructor TellieMonitorProc(); // Destroy the processor virtual ~TellieMonitorProc(); // Set the output filename virtual void SetS( const std::string& param, const std::string& value ); // Set the save plot option virtual void SetI( const std::string& param, const int value ); // Begin of run action virtual void BeginOfRun(DS::Run& run); // End of run action virtual void EndOfRun(DS::Run& run); // Process the event // // Runs only for EXTASync events // // run: current run information // ds: current event information // returns is OKTRUE if the scintEdep > fScintEdep or OKFALSE if not virtual Processor::Result DSEvent(DS::Run& run, DS::Entry& ds); protected: std::string fOutputName; // output file name, assumes .dat for text and .root for ROOT file std::vector fHitCount; // vector of number of hits per PMT int fNEvents; // number of events int fTrigBit; // trigger bit of TELLIE events, default EXTA bool fNoPlot; // Don't save ROOT file TH2F* fHitMap; // Map of hits in Phi/Theta }; } // namespace RAT #endif