00001 #ifndef Alignment_MuonAlignment_MuonAlignmentInputMethod_h 00002 #define Alignment_MuonAlignment_MuonAlignmentInputMethod_h 00003 // -*- C++ -*- 00004 // 00005 // Package: MuonAlignment 00006 // Class : MuonAlignmentInputMethod 00007 // 00016 // 00017 // Original Author: Jim Pivarski 00018 // Created: Thu Mar 6 14:10:22 CST 2008 00019 // $Id: MuonAlignmentInputMethod.h,v 1.2 2008/03/20 21:39:26 pivarski Exp $ 00020 // 00021 00022 // system include files 00023 #include <boost/shared_ptr.hpp> 00024 00025 #include "FWCore/Framework/interface/EventSetup.h" 00026 00027 // user include files 00028 #include "Alignment/MuonAlignment/interface/AlignableMuon.h" 00029 #include "Geometry/DTGeometry/interface/DTGeometry.h" 00030 #include "Geometry/CSCGeometry/interface/CSCGeometry.h" 00031 00032 // forward declarations 00033 00034 class MuonAlignmentInputMethod { 00035 public: 00036 MuonAlignmentInputMethod(); 00037 virtual ~MuonAlignmentInputMethod(); 00038 00039 // ---------- const member functions --------------------- 00040 00041 // ---------- static member functions -------------------- 00042 00043 // ---------- member functions --------------------------- 00044 00045 virtual AlignableMuon *newAlignableMuon(const edm::EventSetup &iSetup) const; 00046 00047 protected: 00048 boost::shared_ptr<DTGeometry> idealDTGeometry(const edm::EventSetup &iSetup) const; 00049 boost::shared_ptr<CSCGeometry> idealCSCGeometry(const edm::EventSetup &iSetup) const; 00050 00051 private: 00052 MuonAlignmentInputMethod(const MuonAlignmentInputMethod&); // stop default 00053 00054 const MuonAlignmentInputMethod& operator=(const MuonAlignmentInputMethod&); // stop default 00055 00056 // ---------- member data -------------------------------- 00057 }; 00058 00059 00060 #endif