CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/Alignment/SurveyAnalysis/interface/SurveyInputBase.h

Go to the documentation of this file.
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() { theFirstEvent = true; }
00026 
00028   virtual void analyze(
00029                        const edm::Event&,
00030                        const edm::EventSetup&
00031                        ) = 0;
00032 
00034   inline static Alignable* detector();
00035 
00038   static void addComponent(
00039                            Alignable*
00040                            );
00041 
00042   protected:
00043 
00044   bool theFirstEvent;
00045 
00046   private:
00047 
00048   static Alignable* theDetector; // only one detector
00049 };
00050 
00051 Alignable* SurveyInputBase::detector()
00052 {
00053   return theDetector;
00054 }
00055 
00056 #endif