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
GEMSignalModel::resolutionX_
double resolutionX_
Definition: GEMSignalModel.h:47
GEMSignalModel::elecEffMidParam0
const double elecEffMidParam0
Definition: GEMSignalModel.h:57
GEMSignalModel::digitizeOnlyMuons_
bool digitizeOnlyMuons_
Definition: GEMSignalModel.h:46
GEMEtaPartition
Definition: GEMEtaPartition.h:12
GEMDigiModel
Definition: GEMDigiModel.h:37
GEMSignalModel::muonPdgId
const int muonPdgId
Definition: GEMSignalModel.h:49
GEMSignalModel
Definition: GEMSignalModel.h:24
GEMSignalModel::cspeed
const double cspeed
Definition: GEMSignalModel.h:50
GEMSignalModel::elecEffLowParam0
const double elecEffLowParam0
Definition: GEMSignalModel.h:55
GEMSignalModel::GEMSignalModel
GEMSignalModel(const edm::ParameterSet &)
Definition: GEMSignalModel.cc:16
GEMSignalModel::elecMomCut1
const double elecMomCut1
Definition: GEMSignalModel.h:52
TrapezoidalStripTopology
Definition: TrapezoidalStripTopology.h:21
GEMSignalModel::averageShapingTime_
double averageShapingTime_
Definition: GEMSignalModel.h:42
Strips
std::set< std::pair< int, int > > Strips
Definition: GEMDigiModel.h:31
DetectorHitMap
std::multimap< std::pair< unsigned int, int >, const PSimHit *, std::less< std::pair< unsigned int, int > > > DetectorHitMap
Definition: GEMDigiModel.h:35
CLHEP
Definition: CocoaGlobals.h:27
GEMSignalModel::momConvFact
const double momConvFact
Definition: GEMSignalModel.h:51
edm::ParameterSet
Definition: ParameterSet.h:36
GEMSignalModel::getSimHitBx
int getSimHitBx(const PSimHit *, CLHEP::HepRandomEngine *)
Definition: GEMSignalModel.cc:78
GEMSignalModel::elecEffLowCoeff
const double elecEffLowCoeff
Definition: GEMSignalModel.h:54
GEMSignalModel::elecEffMidParam1
const double elecEffMidParam1
Definition: GEMSignalModel.h:58
GEMSignalModel::elecEffMidCoeff
const double elecEffMidCoeff
Definition: GEMSignalModel.h:56
GEMSignalModel::simulate
void simulate(const GEMEtaPartition *, const edm::PSimHitContainer &, CLHEP::HepRandomEngine *, Strips &, DetectorHitMap &) override
Definition: GEMSignalModel.cc:38
GEMSignalModel::signalPropagationSpeed_
double signalPropagationSpeed_
Definition: GEMSignalModel.h:45
GEMSignalModel::averageEfficiency_
double averageEfficiency_
Definition: GEMSignalModel.h:41
GEMDigiModel.h
GEMSignalModel::timeJitter_
double timeJitter_
Definition: GEMSignalModel.h:44
GEMSignalModel::elecMomCut2
const double elecMomCut2
Definition: GEMSignalModel.h:53
GEMSignalModel::timeResolution_
double timeResolution_
Definition: GEMSignalModel.h:43
GEMGeometry
Definition: GEMGeometry.h:24
edm::PSimHitContainer
std::vector< PSimHit > PSimHitContainer
Definition: PSimHitContainer.h:11
GEMSignalModel::simulateClustering
std::vector< std::pair< int, int > > simulateClustering(const TrapezoidalStripTopology *, const PSimHit *, const int, CLHEP::HepRandomEngine *)
Definition: GEMSignalModel.cc:130
PSimHit
Definition: PSimHit.h:15
GEMSignalModel::~GEMSignalModel
~GEMSignalModel() override
Definition: GEMSignalModel.cc:36