CMS 3D CMS Logo

RPixLinearChargeDivider.h
Go to the documentation of this file.
1 #ifndef SimPPS_PPSPixelDigiProducer_LINEAR_CHARGE_DIVIDER_H
2 #define SimPPS_PPSPixelDigiProducer_LINEAR_CHARGE_DIVIDER_H
3 
8 
9 namespace CLHEP {
10  class HepRandomEngine;
11 }
12 
14 public:
15  RPixLinearChargeDivider(const edm::ParameterSet& params, CLHEP::HepRandomEngine& eng, uint32_t det_id);
17 
18  std::vector<RPixEnergyDepositUnit> divide(const PSimHit& hit);
19 
20 private:
21  CLHEP::HepRandomEngine& rndEngine_;
22  uint32_t det_id_;
25  double deltaCut_;
26  double pitch_;
27  double thickness_;
28 
29  std::vector<RPixEnergyDepositUnit> the_energy_path_distribution_;
32 
33  void FluctuateEloss(int pid,
34  double particleMomentum,
35  double eloss,
36  double length,
37  int NumberOfSegs,
38  std::vector<RPixEnergyDepositUnit>& elossVector);
39 };
40 
41 #endif
RPixLinearChargeDivider(const edm::ParameterSet &params, CLHEP::HepRandomEngine &eng, uint32_t det_id)
std::vector< RPixEnergyDepositUnit > the_energy_path_distribution_
SiG4UniversalFluctuation * fluctuate
void FluctuateEloss(int pid, double particleMomentum, double eloss, double length, int NumberOfSegs, std::vector< RPixEnergyDepositUnit > &elossVector)
CLHEP::HepRandomEngine & rndEngine_
std::vector< RPixEnergyDepositUnit > divide(const PSimHit &hit)