CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/SimRomanPot/SimFP420/interface/DigitizerFP420.h

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 //#include "SimG4Core/Watcher/interface/SimWatcher.h"
00019 
00020 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00021 #include "SimG4CMS/FP420/interface/FP420NumberingScheme.h"
00022 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
00023 //#include "SimG4CMS/FP420/interface/FP420G4Hit.h"
00024 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
00025 //#include "SimG4CMS/FP420/interface/FP420G4HitCollection.h"
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 //#include "SimRomanPot/SimFP420/interface/DigiCollectionFP420.h"
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     //     typedef DigiCollectionFP420<unsigned int, HDigiFP420> DigiColFP420;
00046     
00047     explicit DigitizerFP420(const edm::ParameterSet& conf);
00048     
00049     virtual ~DigitizerFP420();
00050     
00051     //    virtual void produce(PSimHitCollection*, DigiCollectionFP420&);
00052     virtual void produce(edm::Event& e, const edm::EventSetup& c);
00053     
00054     //     virtual void prodfun(MixCollection<PSimHit>*, DigiCollectionFP420 &);
00055     //  virtual void prodfun(std::auto_ptr<MixCollection<PSimHit> >*, DigiCollectionFP420 &);
00056     
00057     
00058     //           virtual void prodfun(std::auto_ptr<MixCollection<PSimHit> >&, DigiCollectionFP420 &);
00059     
00060   private:
00061     //  std::vector<PSimHit> theStripHits;
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     //  HitDigitizerFP420* theHitDigitizerFP420;
00071     //    FP420DigiMain stripDigitizer_;
00072     FP420DigiMain* stripDigitizer_;
00073     FP420NumberingScheme * theFP420NumberingScheme;
00074     //  FP420DigiMain * theFP420DigiMain;
00075     int numStrips;    // number of strips in the module
00076     
00077     int dn0, sn0, pn0, rn0, verbosity;
00078     
00079     
00080     std::vector<HDigiFP420> collector;
00081     
00082     //   DigiCollectionFP420 * output;
00083     
00084     
00085     //   std::vector<edm::DetSet<HDigiFP420> > output;
00086     
00087     //      DigiCollectionFP420* poutput;
00088     
00089     //  std::map<GeomDetType* , boost::shared_ptr<FP420DigiMain> > theAlgoMap; 
00090     // std::vector<edm::DetSet<HDigiFP420> > outputfinal;
00091     //    std::vector<edm::DetSet<HDigiFP420SimLink> > theDigiLinkVector;
00092     //      std::vector<edm::DetSet<PixelDigi> > theDigiVector;
00093     
00094     
00095     
00096     
00097     //    G4ThreeVector bfield(G4ThreeVector);
00098     //    G4ThreeVector bfield(double, double, double);
00099     //    G4ThreeVector bfield(float, float, float);
00100     //    G4ThreeVector bfield();
00101     
00102     
00103   };
00104 }
00105 
00106 #endif