#ifndef INC_SMTALIGNER #define INC_SMTALIGNER // // $Id: SMTAligner.doc,v 1.1 2000/10/30 17:36:02 dhiman Exp $ // // File: SMTAligner.hpp // // Purpose: // // Created: Dhiman Chakraborty 14-JUN-2000 // // $Revision: 1.1 $ #include #include #include "alignment_system/components/BaseAligner.hpp" #include "silicon_geometry/base/SiBaseGeometry.hpp" #include "alignment_system/components/GeometryAddressManager.hpp" #include "framework/utilities/Singleton.hpp" #ifndef RCP_RCP /// namespace edm { class RCP; } #endif /// To align the SMT class SMTAligner: public virtual BaseAligner, public d0_Object, public fwk::Single { public: /// Default constructor (users should not invoke the donstructor directly. Instead, they should get an instance of the SMTAligner by invoking the {\tt instance()} method (of {\tt fwk::Single}) SMTAligner():_cvers("$Revision: 1.1 $") {;} /// Default destructor ~SMTAligner() {;}; /// Intialize void initialize(d0_Ref base); /// Register the {\tt GeometryElement}s with the {\tt GeometryAddressManager}by associating an ASCII name with each element/reference point. void registerElements(); /// Alignment done here void align(); /// Get source code version. Kept to allow following code changes const std::string& code_version() const { return _cvers; } /// make me persistable D0_OBJECT_SETUP( SMTAligner ); private: /// std::string _cvers; /// Replaced at checkout d0_Ref _gbase; /// d0_Ref _gsmt; /// edm::RCP _rcp; }; #endif // SMTAligner