/////////////////////////////////////////////////////////////////////// // // Author: name Arnd Soerensen --contact person // // REVISION HISTORY: // 24/10/2013 : A Soerensen - New file // 11 Nov 2014 : Matthew Strait - Removed unused variables. // /////////////////////////////////////////////////////////////////////// #ifndef __RAT_Method_MuonWater_ #define __RAT_Method_MuonWater_ #include #include #include #include #include namespace RAT { namespace Methods { class MuonWater : public Method { public: virtual std::string GetName() const { return MuonWater::Name(); } static std::string Name() { return std::string( "MuonWater" ); } void Initialise (const std::string& ) { } void BeginOfRun( DS::Run& ); void EndOfRun( DS::Run& ); TRotation GetRotationToSpecialFrame(const TVector3 tVec_, const TVector3 qVec_ ); double GetCosThetaEstimate(const double cosAlpha, bool& trustResult); double GetZEstimate(const double cosAlpha, bool& trustResult); virtual DS::FitResult GetBestFit(); private: // Simple Center of Mass function // // Simple function to calculate the geometrical center of mass of a given list of vectors // // list holds the objects for which the CoM should be calculated // // Returns a TVector3 which points to the center of mass of input vector list TVector3 CenterOfMass_MuonWater(const std::vector& list); std::vector fCosThetaConstants; std::vector fZConstants; double fPathLengthCut; double fPSUPRadius; }; } //::Method } //::RAT #endif