Go to the documentation of this file.00001 #ifndef DigitizerFP420_h
00002 #define DigitizerFP420_h
00003
00005 #include "boost/shared_ptr.hpp"
00006
00007 #include "FWCore/Framework/interface/EDProducer.h"
00008 #include "FWCore/Framework/interface/Event.h"
00009 #include "DataFormats/Common/interface/Handle.h"
00010 #include "FWCore/Framework/interface/EventSetup.h"
00011
00012 #include "DataFormats/Common/interface/EDProduct.h"
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014
00015 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00016
00018
00019
00020 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00021 #include "SimG4CMS/FP420/interface/FP420NumberingScheme.h"
00022 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
00023
00024 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
00025
00026 #include "SimDataFormats/CrossingFrame/interface/MixCollection.h"
00027
00028 #include "SimRomanPot/SimFP420/interface/FP420DigiMain.h"
00029
00030 #include "DataFormats/FP420Digi/interface/DigiCollectionFP420.h"
00031 #include "DataFormats/FP420Digi/interface/HDigiFP420.h"
00032
00033
00034 #include <CLHEP/Vector/ThreeVector.h>
00035 #include <string>
00036 #include<vector>
00037 #include <iostream>
00038 #include <map>
00039
00040 namespace cms
00041 {
00042 class DigitizerFP420: public edm::EDProducer
00043 {
00044 public:
00045
00046
00047 explicit DigitizerFP420(const edm::ParameterSet& conf);
00048
00049 virtual ~DigitizerFP420();
00050
00051
00052 virtual void produce(edm::Event& e, const edm::EventSetup& c);
00053
00054
00055
00056
00057
00058
00059
00060 private:
00061
00062 typedef std::vector<std::string> vstring;
00063 typedef std::map<unsigned int, std::vector<PSimHit>,std::less<unsigned int> > simhit_map;
00064 typedef simhit_map::iterator simhit_map_iterator;
00065 simhit_map SimHitMap;
00066
00067 edm::ParameterSet conf_;
00068 vstring trackerContainers;
00069
00070
00071
00072 FP420DigiMain* stripDigitizer_;
00073 FP420NumberingScheme * theFP420NumberingScheme;
00074
00075 int numStrips;
00076
00077 int dn0, sn0, pn0, rn0, verbosity;
00078
00079
00080 std::vector<HDigiFP420> collector;
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103 };
00104 }
00105
00106 #endif