CMS 3D CMS Logo

GEMSignalModel.h
Go to the documentation of this file.
1 #ifndef SimMuon_GEMDigitizer_GEMSignalModel_h
2 #define SimMuon_GEMDigitizer_GEMSignalModel_h
3 
16 
17 class GEMGeometry;
19 
20 namespace CLHEP {
21  class HepRandomEngine;
22 }
23 
24 class GEMSignalModel : public GEMDigiModel {
25 public:
27 
28  ~GEMSignalModel() override;
29 
30  void simulate(
31  const GEMEtaPartition*, const edm::PSimHitContainer&, CLHEP::HepRandomEngine*, Strips&, DetectorHitMap&) override;
32 
33  int getSimHitBx(const PSimHit*, CLHEP::HepRandomEngine*);
34 
35  std::vector<std::pair<int, int> > simulateClustering(const TrapezoidalStripTopology*,
36  const PSimHit*,
37  const int,
38  CLHEP::HepRandomEngine*);
39 
40 private:
44  double timeJitter_;
47  double resolutionX_;
48 
49  const int muonPdgId;
50  const double cspeed;
51  const double momConvFact;
52  const double elecMomCut1;
53  const double elecMomCut2;
54  const double elecEffLowCoeff;
55  const double elecEffLowParam0;
56  const double elecEffMidCoeff;
57  const double elecEffMidParam0;
58  const double elecEffMidParam1;
59 };
60 #endif
const double elecMomCut1
double averageEfficiency_
const double elecEffMidParam1
const double elecEffMidCoeff
const double cspeed
double signalPropagationSpeed_
const double elecEffLowCoeff
const double elecEffLowParam0
const double elecMomCut2
const double elecEffMidParam0
double timeResolution_
std::multimap< std::pair< unsigned int, int >, const PSimHit *, std::less< std::pair< unsigned int, int > > > DetectorHitMap
Definition: GEMDigiModel.h:35
std::set< std::pair< int, int > > Strips
Definition: GEMDigiModel.h:31
std::vector< PSimHit > PSimHitContainer
double averageShapingTime_
const int muonPdgId
const double momConvFact