00001 #ifndef Alignment_SurveyAnalysis_SurveyInputBase_h 00002 #define Alignment_SurveyAnalysis_SurveyInputBase_h 00003 00013 #include "FWCore/Framework/interface/EDAnalyzer.h" 00014 00015 class Alignable; 00016 00017 class SurveyInputBase: 00018 public edm::EDAnalyzer 00019 { 00020 public: 00021 00022 virtual ~SurveyInputBase(); 00023 00025 virtual void beginJob( 00026 const edm::EventSetup& 00027 ) = 0; 00028 00030 virtual void analyze( 00031 const edm::Event&, 00032 const edm::EventSetup& 00033 ) {} 00034 00036 inline static Alignable* detector(); 00037 00040 static void addComponent( 00041 Alignable* 00042 ); 00043 00044 private: 00045 00046 static Alignable* theDetector; // only one detector 00047 }; 00048 00049 Alignable* SurveyInputBase::detector() 00050 { 00051 return theDetector; 00052 } 00053 00054 #endif