//////////////////////////////////////////////////////////////////////// /// \class RAT::FitterPMT /// /// \brief Hit information container for fitter components /// /// \author Phil G Jones \n /// \author Matt Mottram < m.mottram@qmul.ac.uk> -- contact person /// /// REVISION HISTORY:\n /// 23/08/2013 : P G Jones - New file \n /// 14/02/2014 : G Prior - methods added and /// methods name changed for the SOCPMT fitter /// 13 May 2015: W Heintzelman - Add Crate-Card-Channel-Cell number /// 25 April 2017: T. Kaptanoglu - Add Crosstalk flag /// /// \details Contains the hit information and is used by the fitter /// components exclusively. This differs from the DS::PMT* /// objects in that it includes a error estimate for each piece /// of hit information. /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_FitterPMT__ #define __RAT_FitterPMT__ #include namespace RAT { namespace DS { class SOCPMT; } class FitterPMT { public: FitterPMT() { }; FitterPMT( const DS::PMTCal& pmtCal ); FitterPMT( const DS::SOCPMT& socPMT ); virtual ~FitterPMT() { }; /// Return the ID (PMTCal) or the LCN (SOCPMT) int GetID() const { return fID; } // Return the CCCC ( Crate Card Channel Cell number ) int GetCCCC() const { return fCCCC; } /// Return the hit time (PMTCal) or the centroid (SOCPMT) double GetTime() const { return fTime; } /// Return the error associated with the hit time (PMTCal) or the centroid (SOCPMT) double GetTimeError() const { return fTimeError; } /// Return the hit charge, QHL double GetQHL() const { return fQHL; } /// Return the error associated with the hit charge double GetQHLError() const { return fQHLError; } /// Return the hit charge, QHS double GetQHS() const { return fQHS; } /// Return the error associated with the hit charge double GetQHSError() const { return fQHSError; } /// Return the hit charge, QLX double GetQLX() const { return fQLX; } /// Return the error associated with the hit charge double GetQLXError() const { return fQLXError; } /// Return the status of the calibrations DS::BitMask GetStatus() const { return fStatus; } /// Return the crosstalk flag bool GetCrossTalkFlag() const { return fCrossTalkFlag; } private: int fID; ///< The PMT channel number/id or lcn int fCCCC; // CCCC ( Crate Card Channel Cell number ) double fTime; ///< The hit time or centroid double fTimeError; ///< Error associated with the hit time or centroid double fQHL; ///< The hit QHL charge double fQHLError; ///< Error associated with the QHL charge double fQHS; ///< The hit QHS charge double fQHSError; ///< Error associated with the QHS charge double fQLX; ///< The hit QLX charge double fQLXError; ///< Error associated with the QLX charge DS::BitMask fStatus; ///< Status flags for the various calibrations bool fCrossTalkFlag; ///< Crosstalk flag for each pmt hit }; } //::RAT #endif