CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/SimCalorimetry/CastorSim/plugins/CastorDigiProducer.h

Go to the documentation of this file.
00001 #ifndef CastorDigiProducer_h
00002 #define CastorDigiProducer_h
00003 
00004 #include "FWCore/Framework/interface/EDProducer.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/Framework/interface/EventSetup.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 #include "SimCalorimetry/CastorSim/src/CastorDigitizerTraits.h"
00009 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
00010 #include "SimCalorimetry/CaloSimAlgos/interface/CaloTDigitizer.h"
00011 #include "SimCalorimetry/CastorSim/src/CastorSimParameterMap.h"
00012 #include "SimCalorimetry/CastorSim/src/CastorShape.h"
00013 #include "SimCalorimetry/CastorSim/src/CastorElectronicsSim.h"
00014 #include "SimCalorimetry/CastorSim/src/CastorHitFilter.h"
00015 #include "SimCalorimetry/CaloSimAlgos/interface/CaloHitResponse.h"
00016 #include "SimCalorimetry/CastorSim/src/CastorAmplifier.h"
00017 #include "SimCalorimetry/CastorSim/src/CastorCoderFactory.h"
00018 #include "SimCalorimetry/CastorSim/src/CastorHitCorrection.h"
00019 
00020 
00021 class CastorDigiProducer : public edm::EDProducer
00022 {
00023 public:
00024 
00025   explicit CastorDigiProducer(const edm::ParameterSet& ps);
00026   virtual ~CastorDigiProducer();
00027 
00029   virtual void produce(edm::Event& e, const edm::EventSetup& c);
00030 
00031 private:
00033   void sortHits(const edm::PCaloHitContainer & hits);
00035   void fillFakeHits();
00038   void checkGeometry(const edm::EventSetup& eventSetup);
00039 
00041   typedef CaloTDigitizer<CastorDigitizerTraits> CastorDigitizer;
00042  
00043   CastorSimParameterMap * theParameterMap;
00044   CaloVShape * theCastorShape;
00045   CaloVShape * theCastorIntegratedShape;
00046 
00047   CaloHitResponse * theCastorResponse;
00048 
00049   CastorAmplifier * theAmplifier;
00050   CastorCoderFactory * theCoderFactory;
00051   CastorElectronicsSim * theElectronicsSim;
00052 
00053   CastorHitFilter theCastorHitFilter;
00054 
00055   CastorHitCorrection * theHitCorrection;
00056 
00057   CastorDigitizer* theCastorDigitizer;
00058 
00059   std::vector<PCaloHit> theCastorHits;
00060 
00061 };
00062 
00063 #endif
00064