Back to home page

Project CMSSW displayed by LXR

 
 

    


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 &params, 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