CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/SimG4CMS/ShowerLibraryProducer/interface/HcalForwardLibWriter.h

Go to the documentation of this file.
00001 #ifndef SimG4CMS_ShowerLibraryProducer_HcalForwardLibWriter_h
00002 #define SimG4CMS_ShowerLibraryProducer_HcalForwardLibWriter_h
00003 
00004 #include <memory>
00005 #include <string>
00006 #include <fstream>
00007 #include <utility>
00008 #include <vector>
00009 
00010 
00011 #include "FWCore/Framework/interface/Frameworkfwd.h"
00012 #include "FWCore/Framework/interface/EDProducer.h"
00013 
00014 #include "FWCore/Framework/interface/Event.h"
00015 #include "FWCore/Framework/interface/MakerMacros.h"
00016 
00017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00018 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00019 
00020 #include "SimDataFormats/CaloHit/interface/HFShowerPhoton.h"
00021 #include "SimDataFormats/CaloHit/interface/HFShowerLibraryEventInfo.h"
00022 
00023 class HcalForwardLibWriter : public edm::EDProducer {
00024 
00025 public:
00026 
00027   struct FileHandle{
00028     std::string name;
00029     std::string id;
00030     int momentum;
00031   };
00032 
00033   explicit HcalForwardLibWriter(const edm::ParameterSet&);
00034   ~HcalForwardLibWriter();
00035 
00036 private:
00037   virtual void beginJob() ;
00038   virtual void produce(edm::Event&, const edm::EventSetup&);
00039   virtual void endJob() ;
00040   //void fillEvent(HFShowerPhotonCollection& em, HFShowerPhotonCollection& had);
00041   int readUserData();
00042 
00043   std::string theDataFile;
00044   std::vector<FileHandle> theFileHandle;
00045 
00046 };
00047 #endif