File indexing completed on 2024-04-06 12:30:45
0001 #ifndef SimMuon_GEMDigitizer_GEMSignalModel_h
0002 #define SimMuon_GEMDigitizer_GEMSignalModel_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include "SimMuon/GEMDigitizer/interface/GEMDigiModel.h"
0016
0017 class GEMGeometry;
0018 class GEMStripTopology;
0019
0020 namespace CLHEP {
0021 class HepRandomEngine;
0022 }
0023
0024 class GEMSignalModel : public GEMDigiModel {
0025 public:
0026 GEMSignalModel(const edm::ParameterSet&);
0027
0028 ~GEMSignalModel() override;
0029
0030 void simulate(
0031 const GEMEtaPartition*, const edm::PSimHitContainer&, CLHEP::HepRandomEngine*, Strips&, DetectorHitMap&) override;
0032
0033 int getSimHitBx(const PSimHit*, CLHEP::HepRandomEngine*);
0034
0035 std::vector<std::pair<int, int> > simulateClustering(const GEMStripTopology*,
0036 const PSimHit*,
0037 const int,
0038 CLHEP::HepRandomEngine*);
0039
0040 private:
0041 double averageEfficiency_;
0042 double averageShapingTime_;
0043 double timeResolution_;
0044 double timeJitter_;
0045 double signalPropagationSpeed_;
0046 bool bx0filter_;
0047 bool digitizeOnlyMuons_;
0048 double resolutionX_;
0049
0050 const double cspeed;
0051 const double energyMinCut;
0052 };
0053 #endif