CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
RPixHitChargeConverter Class Reference

#include <RPixHitChargeConverter.h>

Public Member Functions

std::map< unsigned short, double > processHit (const PSimHit &hit, const PPSPixelTopology &ppt)
 
 RPixHitChargeConverter (const edm::ParameterSet &params_, CLHEP::HepRandomEngine &eng, uint32_t det_id, const PPSPixelTopology &ppt)
 
 ~RPixHitChargeConverter ()=default
 

Private Attributes

const uint32_t det_id_
 
std::unique_ptr< RPixLinearChargeCollectionDriftertheRPixChargeCollectionDrifter
 
std::unique_ptr< RPixLinearChargeDividertheRPixChargeDivider
 
std::unique_ptr< RPixChargeSharetheRPixChargeShare
 
int verbosity_
 

Detailed Description

Definition at line 10 of file RPixHitChargeConverter.h.

Constructor & Destructor Documentation

◆ RPixHitChargeConverter()

RPixHitChargeConverter::RPixHitChargeConverter ( const edm::ParameterSet params_,
CLHEP::HepRandomEngine &  eng,
uint32_t  det_id,
const PPSPixelTopology ppt 
)

Definition at line 3 of file RPixHitChargeConverter.cc.

References submitPVValidationJobs::params, theRPixChargeCollectionDrifter, theRPixChargeDivider, theRPixChargeShare, and verbosity_.

7  : det_id_(det_id) {
8  verbosity_ = params.getParameter<int>("RPixVerbosity");
9  theRPixChargeDivider = std::make_unique<RPixLinearChargeDivider>(params, eng, det_id);
10  theRPixChargeCollectionDrifter = std::make_unique<RPixLinearChargeCollectionDrifter>(params, det_id, ppt);
11  theRPixChargeShare = std::make_unique<RPixChargeShare>(params, det_id, ppt);
12 }
std::unique_ptr< RPixLinearChargeCollectionDrifter > theRPixChargeCollectionDrifter
std::unique_ptr< RPixLinearChargeDivider > theRPixChargeDivider
std::unique_ptr< RPixChargeShare > theRPixChargeShare

◆ ~RPixHitChargeConverter()

RPixHitChargeConverter::~RPixHitChargeConverter ( )
default

Member Function Documentation

◆ processHit()

std::map< unsigned short, double > RPixHitChargeConverter::processHit ( const PSimHit hit,
const PPSPixelTopology ppt 
)

Definition at line 14 of file RPixHitChargeConverter.cc.

References det_id_, theRPixChargeCollectionDrifter, theRPixChargeDivider, theRPixChargeShare, and verbosity_.

14  {
15  std::vector<RPixEnergyDepositUnit> ions_along_path = theRPixChargeDivider->divide(hit);
16  if (verbosity_)
17  edm::LogInfo("PPS") << "RPixHitChargeConverter " << det_id_
18  << " clouds no generated on the path=" << ions_along_path.size();
19  return theRPixChargeShare->Share(theRPixChargeCollectionDrifter->Drift(ions_along_path), ppt);
20 }
std::unique_ptr< RPixLinearChargeCollectionDrifter > theRPixChargeCollectionDrifter
Log< level::Info, false > LogInfo
std::unique_ptr< RPixLinearChargeDivider > theRPixChargeDivider
std::unique_ptr< RPixChargeShare > theRPixChargeShare

Member Data Documentation

◆ det_id_

const uint32_t RPixHitChargeConverter::det_id_
private

Definition at line 21 of file RPixHitChargeConverter.h.

Referenced by processHit().

◆ theRPixChargeCollectionDrifter

std::unique_ptr<RPixLinearChargeCollectionDrifter> RPixHitChargeConverter::theRPixChargeCollectionDrifter
private

Definition at line 23 of file RPixHitChargeConverter.h.

Referenced by processHit(), and RPixHitChargeConverter().

◆ theRPixChargeDivider

std::unique_ptr<RPixLinearChargeDivider> RPixHitChargeConverter::theRPixChargeDivider
private

Definition at line 22 of file RPixHitChargeConverter.h.

Referenced by processHit(), and RPixHitChargeConverter().

◆ theRPixChargeShare

std::unique_ptr<RPixChargeShare> RPixHitChargeConverter::theRPixChargeShare
private

Definition at line 24 of file RPixHitChargeConverter.h.

Referenced by processHit(), and RPixHitChargeConverter().

◆ verbosity_

int RPixHitChargeConverter::verbosity_
private

Definition at line 25 of file RPixHitChargeConverter.h.

Referenced by processHit(), and RPixHitChargeConverter().