LDMX Software
Tracking
include
Tracking
Digitization
CDFSiSensorSim.h
1
#pragma once
2
3
#include <map>
4
5
#include "Acts/Definitions/Algebra.hpp"
6
#include "Tracking/Digitization/ChargeCarrier.h"
7
#include "Tracking/Digitization/SiElectrodeDataCollection.h"
8
9
namespace
tracking
{
10
namespace
digitization {
11
12
class
CDFSiSensorSim
{
13
// Static parameters - not intended to be user modifiable
14
15
// 10% of pitch or depleted thickness
16
// static double deposition_granularity_ = 0.10;
17
// static double distance_error_threshold_ = 0.001;
18
19
// Field
20
// SiSensor _sensor = null;
21
22
CDFSiSensorSim
();
23
24
/*
25
26
void setTrapping(double trapping) {trapping_ = trapping;}
27
28
// Get charge map on electrodes
29
// TODO::Add check that the carrier exists in the internal map
30
SiElectrodeDataCollection getReadoutData(ChargeCarrier carrier) {
31
return readout_data.get(carrier);
32
}
33
34
// Simulate charge deposition
35
std::map<ChargeCarrier, SiElectrodeDataCollection> computeElectrodeData();
36
*/
37
38
private
:
39
std::map<ChargeCarrier, Acts::Vector3> _drift_direction;
40
std::map<ChargeCarrier, SiElectrodeDataCollection> _sense_data;
41
std::map<ChargeCarrier, SiElectrodeDataCollection> _readout_data;
42
43
// Simple simulation of charge trapping, this is a temporary kludge.
44
// Charge collection efficiency with linear drift distance dependence.
45
// Input is fraction lost per 100um drift: 0.2 is typical for 1E15 NEQ.
46
// FIXME: should be calculated from properties of DopedSilicon (radiation
47
// dose)
48
49
double
trapping_{0.0};
50
51
bool
debug_{
false
};
52
};
53
54
}
// namespace digitization
55
}
// namespace tracking
tracking::digitization::CDFSiSensorSim
Definition
CDFSiSensorSim.h:12
tracking
The measurement calibrator can be a function or a class/struct able to retrieve the sim hits containe...
Definition
CDFSiSensorSim.h:9
Generated by
1.9.8