SimPPS
RPDigiProducer
plugins
RPLinearChargeDivider.h
Go to the documentation of this file.
1
#ifndef SimPPS_RPDigiProducer_RP_LINEAR_CHARGE_DIVIDER_H
2
#define SimPPS_RPDigiProducer_RP_LINEAR_CHARGE_DIVIDER_H
3
4
#include "
SimDataFormats/TrackingHit/interface/PSimHit.h
"
5
#include "
SimTracker/Common/interface/SiG4UniversalFluctuation.h
"
6
#include "
SimPPS/RPDigiProducer/interface/RPSimTypes.h
"
7
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
8
9
namespace
CLHEP
{
10
class
HepRandomEngine;
11
}
12
13
class
RPLinearChargeDivider
{
14
public
:
15
RPLinearChargeDivider
(
const
edm::ParameterSet
&
params
, CLHEP::HepRandomEngine& eng,
RPDetId
det_id);
16
~RPLinearChargeDivider
();
17
simromanpot::energy_path_distribution
divide
(
const
PSimHit
&
hit
);
18
19
private
:
20
const
edm::ParameterSet
&
params_
;
21
CLHEP::HepRandomEngine&
rndEngine_
;
22
RPDetId
det_id_
;
23
24
bool
fluctuateCharge_
;
25
int
chargedivisionsPerStrip_
;
26
int
chargedivisionsPerThickness_
;
27
double
deltaCut_
;
28
double
pitch_
;
29
double
thickness_
;
30
simromanpot::energy_path_distribution
the_energy_path_distribution_
;
31
std::unique_ptr<SiG4UniversalFluctuation>
fluctuate_
;
32
int
verbosity_
;
33
34
void
FluctuateEloss
(
int
pid,
35
double
particleMomentum,
36
double
eloss,
37
double
length,
38
int
NumberOfSegs,
39
simromanpot::energy_path_distribution
& elossVector);
40
};
41
42
#endif //SimPPS_RPDigiProducer_RP_LINEAR_CHARGE_DIVIDER_H
RPLinearChargeDivider::~RPLinearChargeDivider
~RPLinearChargeDivider()
Definition:
RPLinearChargeDivider.cc:37
simromanpot::energy_path_distribution
std::vector< RPEnergyDepositUnit > energy_path_distribution
Definition:
RPSimTypes.h:16
CalibrationSummaryClient_cfi.params
params
Definition:
CalibrationSummaryClient_cfi.py:14
RPLinearChargeDivider::pitch_
double pitch_
Definition:
RPLinearChargeDivider.h:28
RPLinearChargeDivider::fluctuate_
std::unique_ptr< SiG4UniversalFluctuation > fluctuate_
Definition:
RPLinearChargeDivider.h:31
RPLinearChargeDivider::FluctuateEloss
void FluctuateEloss(int pid, double particleMomentum, double eloss, double length, int NumberOfSegs, simromanpot::energy_path_distribution &elossVector)
Definition:
RPLinearChargeDivider.cc:87
RPLinearChargeDivider::the_energy_path_distribution_
simromanpot::energy_path_distribution the_energy_path_distribution_
Definition:
RPLinearChargeDivider.h:30
RPLinearChargeDivider::chargedivisionsPerThickness_
int chargedivisionsPerThickness_
Definition:
RPLinearChargeDivider.h:26
SiG4UniversalFluctuation.h
RPLinearChargeDivider::thickness_
double thickness_
Definition:
RPLinearChargeDivider.h:29
PSimHit.h
RPLinearChargeDivider::RPLinearChargeDivider
RPLinearChargeDivider(const edm::ParameterSet ¶ms, CLHEP::HepRandomEngine &eng, RPDetId det_id)
Definition:
RPLinearChargeDivider.cc:7
RPLinearChargeDivider::rndEngine_
CLHEP::HepRandomEngine & rndEngine_
Definition:
RPLinearChargeDivider.h:21
CLHEP
Definition:
CocoaGlobals.h:27
edm::ParameterSet
Definition:
ParameterSet.h:47
RPLinearChargeDivider::divide
simromanpot::energy_path_distribution divide(const PSimHit &hit)
Definition:
RPLinearChargeDivider.cc:39
RPLinearChargeDivider::det_id_
RPDetId det_id_
Definition:
RPLinearChargeDivider.h:22
RPLinearChargeDivider
Definition:
RPLinearChargeDivider.h:13
RPLinearChargeDivider::fluctuateCharge_
bool fluctuateCharge_
Definition:
RPLinearChargeDivider.h:24
RPDetId
uint32_t RPDetId
Definition:
RPSimTypes.h:11
RPSimTypes.h
RPLinearChargeDivider::params_
const edm::ParameterSet & params_
Definition:
RPLinearChargeDivider.h:20
RPLinearChargeDivider::chargedivisionsPerStrip_
int chargedivisionsPerStrip_
Definition:
RPLinearChargeDivider.h:25
RPLinearChargeDivider::deltaCut_
double deltaCut_
Definition:
RPLinearChargeDivider.h:27
ParameterSet.h
PSimHit
Definition:
PSimHit.h:15
RPLinearChargeDivider::verbosity_
int verbosity_
Definition:
RPLinearChargeDivider.h:32
hit
Definition:
SiStripHitEffFromCalibTree.cc:88
Generated for CMSSW Reference Manual by
1.8.16