// ThinZPlaneMS.h #ifndef ThinZPlaneMS_H #define ThinZPlaneMS_H #include "trfbase/Interactor.h" // Class for modifying the covariance matrix of a track to // account for multiple scattering at a Z-plane. namespace trf { class ETrack; class ThinZPlaneMS : public Interactor { public: // static methods // Return the type name. static TypeName get_type_name() { return "ThinZPlaneMS"; } // Return the creator. static ObjCreator get_creator(); // Return the type. static Type get_static_type() { return get_creator(); } public: // Constructor. The Interactor is constructed with the // ppropriate number of radiation lengths. ThinZPlaneMS( double radLength ); // destructor ~ThinZPlaneMS(); // method for adding the interaction void interact(ETrack& tre) const; // return the number of radiation lengths double get_rad_length() const; // make a clone of this object Interactor* new_copy() const; // Return the type. Type get_type() const { return get_static_type(); } // Write the object data. ObjData write_data() const; private: double _radLength; }; } // end namespace trf #endif