SimTracker
SiStripDigitizer
plugins
SiHitDigitizer.h
Go to the documentation of this file.
1
#ifndef _TRACKER_SiHitDigitizer_H_
2
#define _TRACKER_SiHitDigitizer_H_
3
4
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
5
6
#include "
Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h
"
7
#include "
Geometry/CommonDetUnit/interface/GeomDet.h
"
8
#include "
Geometry/CommonDetUnit/interface/GeomDetType.h
"
9
#include "
SimDataFormats/TrackingHit/interface/PSimHit.h
"
10
#include "
SiChargeCollectionDrifter.h
"
11
#include "
SiChargeDivider.h
"
12
#include "
SiInduceChargeOnStrips.h
"
13
#include "
SimTracker/SiStripDigitizer/interface/SiPileUpSignals.h
"
14
15
#include "
SimGeneral/HepPDTRecord/interface/ParticleDataTable.h
"
16
17
#include <map>
18
#include <memory>
19
20
class
TrackerTopology
;
21
22
class
SiStripDetType;
23
24
namespace
CLHEP
{
25
class
HepRandomEngine;
26
}
27
31
class
SiHitDigitizer
{
32
public
:
33
SiHitDigitizer
(
const
edm::ParameterSet
& conf);
34
35
~SiHitDigitizer
();
36
37
void
setChargeDivider
(
SiChargeDivider
*
cd
) {
theSiChargeDivider
.reset(
cd
); }
38
39
void
setChargeCollectionDrifter
(
SiChargeCollectionDrifter
*
cd
) {
theSiChargeCollectionDrifter
.reset(
cd
); }
40
41
void
setInduceChargeOnStrips
(
SiInduceChargeOnStrips
*
cd
) {
theSiInduceChargeOnStrips
.reset(
cd
); }
42
43
void
setParticleDataTable
(
const
ParticleDataTable
* pdt) {
theSiChargeDivider
->setParticleDataTable(pdt); }
44
45
void
processHit
(
const
PSimHit
*,
46
const
StripGeomDetUnit
&,
47
GlobalVector
,
48
float
,
49
std::vector<float>&,
50
size_t
&,
51
size_t
&,
52
const
TrackerTopology
* tTopo,
53
CLHEP::HepRandomEngine*);
54
55
private
:
56
const
double
depletionVoltage
;
57
const
double
chargeMobility
;
58
std::unique_ptr<SiChargeDivider>
theSiChargeDivider
;
59
std::unique_ptr<SiChargeCollectionDrifter>
theSiChargeCollectionDrifter
;
60
std::unique_ptr<const SiInduceChargeOnStrips>
theSiInduceChargeOnStrips
;
61
62
typedef
GloballyPositioned<double>
Frame
;
63
64
LocalVector
DriftDirection
(
const
StripGeomDetUnit
* _detp,
GlobalVector
_bfield,
float
langle) {
65
LocalVector
Bfield =
Frame
(_detp->
surface
().
position
(), _detp->
surface
().
rotation
()).
toLocal
(_bfield);
66
return
LocalVector
(-langle * Bfield.
y
(), langle * Bfield.
x
(), 1.);
67
}
68
};
69
70
#endif
Vector3DBase
Definition:
Vector3DBase.h:8
GloballyPositioned
Definition:
GloballyPositioned.h:18
SiHitDigitizer::SiHitDigitizer
SiHitDigitizer(const edm::ParameterSet &conf)
Definition:
SiHitDigitizer.cc:16
SiHitDigitizer::theSiInduceChargeOnStrips
std::unique_ptr< const SiInduceChargeOnStrips > theSiInduceChargeOnStrips
Definition:
SiHitDigitizer.h:60
StripGeomDetUnit.h
SiChargeDivider.h
PV3DBase::x
T x() const
Definition:
PV3DBase.h:59
SiHitDigitizer::setChargeDivider
void setChargeDivider(SiChargeDivider *cd)
Definition:
SiHitDigitizer.h:37
TrackerTopology
Definition:
TrackerTopology.h:16
GeomDetType.h
SiInduceChargeOnStrips.h
SiHitDigitizer::Frame
GloballyPositioned< double > Frame
Definition:
SiHitDigitizer.h:62
SiHitDigitizer::setChargeCollectionDrifter
void setChargeCollectionDrifter(SiChargeCollectionDrifter *cd)
Definition:
SiHitDigitizer.h:39
SiHitDigitizer::DriftDirection
LocalVector DriftDirection(const StripGeomDetUnit *_detp, GlobalVector _bfield, float langle)
Definition:
SiHitDigitizer.h:64
SiInduceChargeOnStrips
Definition:
SiInduceChargeOnStrips.h:17
SiHitDigitizer::setParticleDataTable
void setParticleDataTable(const ParticleDataTable *pdt)
Definition:
SiHitDigitizer.h:43
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition:
GeomDet.h:37
SiChargeCollectionDrifter
Definition:
SiChargeCollectionDrifter.h:12
PSimHit.h
SiHitDigitizer::theSiChargeCollectionDrifter
std::unique_ptr< SiChargeCollectionDrifter > theSiChargeCollectionDrifter
Definition:
SiHitDigitizer.h:59
SiChargeCollectionDrifter.h
SiHitDigitizer::setInduceChargeOnStrips
void setInduceChargeOnStrips(SiInduceChargeOnStrips *cd)
Definition:
SiHitDigitizer.h:41
SiPileUpSignals.h
SiHitDigitizer::chargeMobility
const double chargeMobility
Definition:
SiHitDigitizer.h:57
CLHEP
Definition:
CocoaGlobals.h:27
SiHitDigitizer::depletionVoltage
const double depletionVoltage
Definition:
SiHitDigitizer.h:56
edm::ParameterSet
Definition:
ParameterSet.h:47
ParticleDataTable.h
SiHitDigitizer::~SiHitDigitizer
~SiHitDigitizer()
Definition:
SiHitDigitizer.cc:28
PV3DBase::y
T y() const
Definition:
PV3DBase.h:60
LocalVector
Local3DVector LocalVector
Definition:
LocalVector.h:12
SiHitDigitizer::theSiChargeDivider
std::unique_ptr< SiChargeDivider > theSiChargeDivider
Definition:
SiHitDigitizer.h:58
toLocal
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
Definition:
ConversionProducer.cc:202
GloballyPositioned::position
const PositionType & position() const
Definition:
GloballyPositioned.h:36
GeomDet.h
SiHitDigitizer::processHit
void processHit(const PSimHit *, const StripGeomDetUnit &, GlobalVector, float, std::vector< float > &, size_t &, size_t &, const TrackerTopology *tTopo, CLHEP::HepRandomEngine *)
Definition:
SiHitDigitizer.cc:30
hippyaddtobaddatafiles.cd
def cd(newdir)
Definition:
hippyaddtobaddatafiles.py:40
ParameterSet.h
SiHitDigitizer
Definition:
SiHitDigitizer.h:31
PSimHit
Definition:
PSimHit.h:15
GloballyPositioned::rotation
const RotationType & rotation() const
Definition:
GloballyPositioned.h:38
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:8
SiChargeDivider
Definition:
SiChargeDivider.h:19
StripGeomDetUnit
Definition:
StripGeomDetUnit.h:15
Generated for CMSSW Reference Manual by
1.8.16