CMS 3D CMS Logo

SiHitDigitizer.h
Go to the documentation of this file.
1 #ifndef _TRACKER_SiHitDigitizer_H_
2 #define _TRACKER_SiHitDigitizer_H_
3 
5 
11 #include "SiChargeDivider.h"
12 #include "SiInduceChargeOnStrips.h"
14 
16 
17 #include <map>
18 #include <memory>
19 
20 class TrackerTopology;
21 
22 class SiStripDetType;
23 
24 namespace CLHEP {
25  class HepRandomEngine;
26 }
27 
32 public:
33  SiHitDigitizer(const edm::ParameterSet& conf);
34 
36 
38 
40 
42 
43  void setParticleDataTable(const ParticleDataTable* pdt) { theSiChargeDivider->setParticleDataTable(pdt); }
44 
45  void processHit(const PSimHit*,
46  const StripGeomDetUnit&,
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 
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:36
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
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
toLocal
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
Definition: ConversionProducer.h:192
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