File indexing completed on 2024-04-06 12:30:52
0001 #ifndef SimPPS_PPSPixelDigiProducer_RPix_LINEAR_CHARGE_COLLECTION_DRIFTER_H
0002 #define SimPPS_PPSPixelDigiProducer_RPix_LINEAR_CHARGE_COLLECTION_DRIFTER_H
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "SimPPS/PPSPixelDigiProducer/interface/RPixSignalPoint.h"
0006 #include "SimPPS/PPSPixelDigiProducer/interface/RPixEnergyDepositUnit.h"
0007 #include "CondFormats/PPSObjects/interface/PPSPixelTopology.h"
0008
0009 class RPixLinearChargeCollectionDrifter {
0010 public:
0011 RPixLinearChargeCollectionDrifter(const edm::ParameterSet ¶ms, uint32_t det_id, const PPSPixelTopology &ppt);
0012 std::vector<RPixSignalPoint> Drift(const std::vector<RPixEnergyDepositUnit> &energy_deposition);
0013
0014 private:
0015 std::vector<RPixSignalPoint> temp_;
0016
0017 std::vector<double> charge_cloud_sigmas_vect_;
0018 double GeV_per_electron_;
0019 int verbosity_;
0020 double det_thickness_;
0021 uint32_t det_id_;
0022
0023 double getSigma_(double z);
0024 };
0025
0026 #endif