CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/SimG4CMS/EcalTestBeam/interface/EcalTBMCInfoProducer.h

Go to the documentation of this file.
00001 #ifndef EcalTBMCInfoProducer_H
00002 #define EcalTBMCInfoProducer_H
00003 /*
00004  * \file EcalTBMCInfoProducer.h
00005  *
00006  * $Id: EcalTBMCInfoProducer.h,v 1.9 2011/05/20 17:17:34 wmtan Exp $
00007  *
00008 */
00009 
00010 
00011 #include "FWCore/Framework/interface/EDProducer.h"
00012 #include "FWCore/Framework/interface/Event.h"
00013 #include "DataFormats/Common/interface/Handle.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 #include "FWCore/Framework/interface/ESHandle.h"
00016 #include "FWCore/Framework/interface/EventSetup.h"
00017 #include "FWCore/Framework/interface/MakerMacros.h"
00018 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00019 
00020 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00021 #include "SimDataFormats/EcalTestBeam/interface/PEcalTBInfo.h"
00022 #include "Geometry/EcalTestBeam/interface/EcalTBCrystalMap.h"
00023 
00024 #include "Math/GenVector/Rotation3D.h"
00025 
00026 #include <iostream>
00027 #include <fstream>
00028 #include <vector>
00029 
00030 namespace CLHEP {
00031   class RandFlat;
00032 }
00033 
00034 class EcalTBMCInfoProducer: public edm::EDProducer{
00035   
00036  public:
00037   
00039   EcalTBMCInfoProducer(const edm::ParameterSet& ps);
00040   
00042   virtual ~EcalTBMCInfoProducer();
00043   
00045   void produce(edm::Event & event, const edm::EventSetup& eventSetup);
00046   
00047   // BeginJob
00048   //void beginJob();
00049   
00050   // EndJob
00051   //void endJob(void);
00052   
00053 
00054 private:
00055 
00056   double beamEta;
00057   double beamPhi;
00058   double beamTheta;
00059 
00060   int crysNumber;
00061 
00062   double beamXoff;
00063   double beamYoff;
00064 
00065   double partXhodo;
00066   double partYhodo;
00067 
00068   EcalTBCrystalMap * theTestMap;
00069 
00070   ROOT::Math::Rotation3D * fromCMStoTB;
00071 
00072   std::string GenVtxLabel;
00073 
00074   CLHEP::RandFlat *flatDistribution_;
00075  
00076 
00077 };
00078 
00079 #endif