CMS 3D CMS Logo

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

#include <RPHitChargeConverter.h>

Public Member Functions

simromanpot::strip_charge_map processHit (const PSimHit &hit)
 
 RPHitChargeConverter (const edm::ParameterSet &params_, CLHEP::HepRandomEngine &eng, RPDetId det_id)
 
 ~RPHitChargeConverter ()
 

Private Attributes

const RPDetId det_id_
 
std::unique_ptr< RPLinearChargeCollectionDriftertheRPChargeCollectionDrifter
 
std::unique_ptr< RPLinearChargeDividertheRPChargeDivider
 
std::unique_ptr< RPLinearInduceChargeOnStripstheRPInduceChargeOnStrips
 
int verbosity_
 

Detailed Description

Definition at line 13 of file RPHitChargeConverter.h.

Constructor & Destructor Documentation

RPHitChargeConverter::RPHitChargeConverter ( const edm::ParameterSet params_,
CLHEP::HepRandomEngine &  eng,
RPDetId  det_id 
)

Definition at line 8 of file RPHitChargeConverter.cc.

References edm::ParameterSet::getParameter(), CalibrationSummaryClient_cfi::params, theRPChargeCollectionDrifter, theRPChargeDivider, theRPInduceChargeOnStrips, and verbosity_.

9  : det_id_(det_id) {
10  verbosity_ = params.getParameter<int>("RPVerbosity");
11  theRPChargeDivider = std::make_unique<RPLinearChargeDivider>(params, eng, det_id);
12  theRPChargeCollectionDrifter = std::make_unique<RPLinearChargeCollectionDrifter>(params, det_id);
13  theRPInduceChargeOnStrips = std::make_unique<RPLinearInduceChargeOnStrips>(params, det_id);
14 }
std::unique_ptr< RPLinearChargeCollectionDrifter > theRPChargeCollectionDrifter
std::unique_ptr< RPLinearInduceChargeOnStrips > theRPInduceChargeOnStrips
std::unique_ptr< RPLinearChargeDivider > theRPChargeDivider
RPHitChargeConverter::~RPHitChargeConverter ( )

Definition at line 16 of file RPHitChargeConverter.cc.

16 {}

Member Function Documentation

simromanpot::strip_charge_map RPHitChargeConverter::processHit ( const PSimHit hit)

Definition at line 18 of file RPHitChargeConverter.cc.

References det_id_, theRPChargeCollectionDrifter, theRPChargeDivider, theRPInduceChargeOnStrips, and verbosity_.

18  {
19  simromanpot::energy_path_distribution ions_along_path = theRPChargeDivider->divide(hit);
20  if (verbosity_)
21  edm::LogInfo("HitChargeConverter") << det_id_ << " clouds no generated on the path=" << ions_along_path.size()
22  << "\n";
23  return theRPInduceChargeOnStrips->Induce(theRPChargeCollectionDrifter->Drift(ions_along_path));
24 }
std::unique_ptr< RPLinearChargeCollectionDrifter > theRPChargeCollectionDrifter
std::unique_ptr< RPLinearInduceChargeOnStrips > theRPInduceChargeOnStrips
std::unique_ptr< RPLinearChargeDivider > theRPChargeDivider
std::vector< RPEnergyDepositUnit > energy_path_distribution
Definition: RPSimTypes.h:16

Member Data Documentation

const RPDetId RPHitChargeConverter::det_id_
private

Definition at line 21 of file RPHitChargeConverter.h.

Referenced by processHit().

std::unique_ptr<RPLinearChargeCollectionDrifter> RPHitChargeConverter::theRPChargeCollectionDrifter
private

Definition at line 24 of file RPHitChargeConverter.h.

Referenced by processHit(), and RPHitChargeConverter().

std::unique_ptr<RPLinearChargeDivider> RPHitChargeConverter::theRPChargeDivider
private

Definition at line 23 of file RPHitChargeConverter.h.

Referenced by processHit(), and RPHitChargeConverter().

std::unique_ptr<RPLinearInduceChargeOnStrips> RPHitChargeConverter::theRPInduceChargeOnStrips
private

Definition at line 25 of file RPHitChargeConverter.h.

Referenced by processHit(), and RPHitChargeConverter().

int RPHitChargeConverter::verbosity_
private

Definition at line 26 of file RPHitChargeConverter.h.

Referenced by processHit(), and RPHitChargeConverter().