// PropStat.h #ifndef PropStat_H #define PropStat_H // Class to describe the result of a propagation. // // Class is constructed in a state indicating failure. // // Call set_same() or set_path_distance(s) if propagation is // successful. // // Obselete interface: // Call either set_forward(), set_backward() or set_same() if // propagation is successful. #include namespace trf { class PropStat { private: bool _success; double _s; public: // constructor // Defult state indicates failure. // Call one of set PropStat(); // set the distance of propagation void set_path_distance(double s); // set successful propagation forward // This method is obselete and will be dropped (25aug98) void set_forward(); // set successful propagation backward // This method is obselete and will be dropped (25aug98) void set_backward(); // set successful propagation to same point void set_same(); // was propagation successful? bool success() const; // did track move forward? bool forward() const; // did track move backward? bool backward() const; // did track propagate succesfully to the same position? bool same() const; // return the propagation path distance. double path_distance() const; }; } // end namespace trf // output stream std::ostream& operator<<(std::ostream& stream, const trf::PropStat& pst); #endif