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
00041 int readUserData();
00042
00043 std::string theDataFile;
00044 std::vector<FileHandle> theFileHandle;
00045
00046 };
00047 #endif