CMS 3D CMS Logo

CSCWireHitSim.h

Go to the documentation of this file.
00001 #ifndef MU_END_WIRE_HIT_SIM_H
00002 #define MU_END_WIRE_HIT_SIM_H
00003 
00010 #include <vector>
00011 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
00012 #include "SimMuon/CSCDigitizer/src/CSCDetectorHit.h"
00013 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00014 #include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h"
00015 #include "CLHEP/Random/RandomEngine.h"
00016 
00017 class CSCDriftSim;
00018 class CSCLayer;
00019 class CSCG3Hit;
00020 class CSCGasCollisions;
00021 class CSCLayerGeometry;
00022 
00023 
00024 class CSCWireHitSim
00025 {
00026 public:
00027   explicit CSCWireHitSim(CSCDriftSim* driftSim);
00028   ~CSCWireHitSim();
00029 
00030   // makes wire hits from the given g3hits
00031   std::vector<CSCDetectorHit> & simulate(const CSCLayer * layer, 
00032                                     const edm::PSimHitContainer & simHits);
00033  
00034   void setParticleDataTable(const ParticleDataTable * pdt);
00035 
00036   void setRandomEngine(CLHEP::HepRandomEngine& engine);
00037 
00038 private:
00039   // Helper functions
00040   std::vector<Local3DPoint> getIonizationClusters(const PSimHit & hit, 
00041                                              const CSCLayer *);
00042   CSCDetectorHit driftElectronsToWire();
00043 
00044   // member data
00045   CSCDriftSim*  theDriftSim;
00046   CSCGasCollisions* theGasIonizer;
00047   std::vector<CSCDetectorHit> theNewWireHits;
00048 };
00049 
00050 #endif

Generated on Tue Jun 9 17:47:31 2009 for CMSSW by  doxygen 1.5.4