 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef SCT_DIGITIZATION_ITkStripFrontEnd_H
5 #define SCT_DIGITIZATION_ITkStripFrontEnd_H
13 #include "GaudiKernel/ToolHandle.h"
20 class SCT_DetectorManager;
24 class HepRandomEngine;
64 static float meanValue(std::vector<float>& calibDataVect) ;
73 FloatProperty
m_NoiseBarrel{
this,
"NoiseBarrel", 1500.0,
"Noise factor, Barrel (in the case of no use of calibration data)"};
74 FloatProperty
m_NoiseBarrel3{
this,
"NoiseBarrel3", 1541.0,
"Noise factor, Barrel3 (in the case of no use of calibration data)"};
75 FloatProperty
m_NoiseInners{
this,
"NoiseInners", 1090.0,
"Noise factor, EC Inners (in the case of no use of calibration data)"};
76 FloatProperty
m_NoiseMiddles{
this,
"NoiseMiddles", 1557.0,
"Noise factor, EC Middles (in the case of no use of calibration data)"};
77 FloatProperty
m_NoiseShortMiddles{
this,
"NoiseShortMiddles", 940.0,
"Noise factor, EC Short Middles (in the case of no use of calibration data)"};
78 FloatProperty
m_NoiseOuters{
this,
"NoiseOuters", 1618.0,
"Noise factor, Ec Outers (in the case of no use of calibration data)"};
79 DoubleProperty
m_NOBarrel{
this,
"NOBarrel", 1.5e-5,
"Noise factor, Barrel (in the case of no use of calibration data)"};
80 DoubleProperty
m_NOBarrel3{
this,
"NOBarrel3", 2.1e-5,
"Noise factor, Barrel3 (in the case of no use of calibration data)"};
81 DoubleProperty
m_NOInners{
this,
"NOInners", 5.0e-9,
"Noise Occupancy, EC Inners (in the case of no use of calibration data)"};
82 DoubleProperty
m_NOMiddles{
this,
"NOMiddles", 2.7e-5,
"Noise Occupancy, EC Middles (in the case of no use of calibration data)"};
83 DoubleProperty
m_NOShortMiddles{
this,
"NOShortMiddles", 2.0e-9,
"Noise Occupancy, EC Short Middles (in the case of no use of calibration data)"};
84 DoubleProperty
m_NOOuters{
this,
"NOOuters", 3.5e-5,
"Noise Occupancy, Ec Outers (in the case of no use of calibration data)"};
85 BooleanProperty
m_NoiseOn{
this,
"NoiseOn",
true,
"To know if noise is on or off when using calibration data"};
86 BooleanProperty
m_analogueNoiseOn{
this,
"AnalogueNoiseOn",
true,
"To know if analogue noise is on or off"};
87 FloatProperty
m_GainRMS{
this,
"GainRMS", 0.031,
"Gain spread parameter within the strips for a given Chip gain"};
88 FloatProperty
m_Ospread{
this,
"Ospread", 0.0001,
"offset spread within the strips for a given Chip offset"};
89 FloatProperty
m_OGcorr{
this,
"OffsetGainCorrelation", 0.00001,
"Gain/offset correlation for the strips"};
90 FloatProperty
m_Threshold{
this,
"Threshold", 1.0,
"Threshold"};
92 ShortProperty
m_data_compression_mode{
this,
"DataCompressionMode",
Edge_01X,
"Front End Data Compression Mode: 1 is level mode X1X (default), 2 is edge mode 01X, 3 is any hit mode (1XX|X1X|XX1)"};
93 ShortProperty
m_data_readout_mode{
this,
"DataReadOutMode",
Condensed,
"Front End Data Read out mode Mode: 0 is condensed mode and 1 is expanded mode"};
94 ToolHandle<IAmplifier>
m_strip_amplifier{
this,
"ITkStripAmp",
"ITkStripAmp",
"Handle the Amplifier tool"};
99 StringProperty
m_detMgrName{
this,
"DetectorManager",
"SCT",
"Name of DetectorManager to retrieve"};
105 #endif //ITkStripFrontEnd_H
ITkStripFrontEnd(const std::string &type, const std::string &name, const IInterface *parent)
constructor
void doSignalChargeForHits(SiChargedDiodeCollection &collectione, ITkStripFrontEndData &data, const int &stripMax) const
char data[hepevt_bytes_allocation_ATLAS]
StringProperty m_detMgrName
DoubleProperty m_NOBarrel
BooleanProperty m_analogueNoiseOn
virtual ~ITkStripFrontEnd()=default
Destructor.
FloatProperty m_NoiseOuters
virtual void process(SiChargedDiodeCollection &collection, CLHEP::HepRandomEngine *rndmEngine) const override
use the baseclass default finalize
const InDetDD::SCT_DetectorManager * m_ITkStripMgr
Handle to SCT detector manager, also valid for ITkStrips.
DoubleProperty m_NOBarrel3
static float meanValue(std::vector< float > &calibDataVect)
std::vector< int > m_StripHitsOnWafer
Info about which strips are above threshold.
virtual StatusCode initialize() override
AlgTool initialize.
FloatProperty m_NoiseBarrel3
void initVectors(int strips, ITkStripFrontEndData &data) const
FloatProperty m_timeOfThreshold
ToolHandle< IAmplifier > m_strip_amplifier
Handle the Amplifier tool.
FloatProperty m_NoiseMiddles
::StatusCode StatusCode
StatusCode definition for legacy code.
void doThresholdCheckForRealHits(SiChargedDiodeCollection &collectione, ITkStripFrontEndData &data, const int &stripMax) const
simulation of the ITk Strips front-end electronics working as a SiPreDigitsProcessor models response ...
DoubleProperty m_NOInners
const SCT_ID * m_ITkStripId
Handle to SCT ID helper also valid for ITkStrips.
std::array< std::vector< float >, 3 > m_Analogue
To hold the noise and amplifier response.
FloatProperty m_NoiseBarrel
FloatProperty m_NoiseShortMiddles
DoubleProperty m_NOShortMiddles
ShortProperty m_data_readout_mode
std::vector< float > m_GainFactor
generate gain per channel (added to the gain per chip from calib data)
FloatProperty m_Threshold
ShortProperty m_data_compression_mode
DoubleProperty m_NOMiddles
BooleanProperty m_NoiseOn
DoubleProperty m_NOOuters
FloatProperty m_NoiseInners