//////////////////////////////////////////////////////////////////////// /// \class RAT::PMTSelectors::ZCut /// /// \brief Select PMTs based on their Z coordinates\n /// /// \author M. Mottram -- contact person /// /// REVISION HISTORY:\n /// 2014/11/21: M. Mottram - first instance\n /// /// \details Default cut is (-8000, 0), i.e. selects only the lower\n /// hemisphere.\n /// //////////////////////////////////////////////////////////////////////// #ifndef __RAT_PMTSelector_ZCut__ #define __RAT_PMTSelector_ZCut__ #include #include namespace RAT { namespace PMTSelectors { class ZCut : public PMTSelector { public: /// Return the selector name std::string GetName() const { return Name(); }; /// Return the selector name static std::string Name() { return std::string( "zCut" ); } /// Initialise the selector /// /// @param[in] param option setting void Initialise( const std::string& param ); void BeginOfRun( DS::Run& ) { } void EndOfRun( DS::Run& ) { } /// Set non-standard cut z values void SetD( const std::string& param, double value ); /// Main Selector function /// /// @param[in] data pmt data from the fitter component /// @param[in] vertex of the fit std::vector GetSelectedPMTs( const std::vector& data, const DS::FitVertex& vertex ); private: double fLowCut; double fHighCut; }; // ZCut } // namespace PMTSelectors } // namespace RAT #endif // __RAT_PMTSelector_ZCut__