Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
PixelNoiseFunctions.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3  */
4 #ifndef PixelNoiseFunctions_h
5 #define PixelNoiseFunctions_h
6 
7 
9 #include <vector>
10 #include <utility> //for std::pair
11 
13 class SiTotalCharge;
14 class PixelModuleData;
16 
17 namespace CLHEP{
18  class HepRandomEngine;
19 }
20 
21 
22 namespace PixelDigitization{
23  void crossTalk(double crossTalk, SiChargedDiodeCollection& chargedDiodes) ;
24 
25  void thermalNoise(double thermalNoise, SiChargedDiodeCollection& chargedDiodes,
26  CLHEP::HepRandomEngine* rndmEngine);
27 
28  void randomNoise(SiChargedDiodeCollection& chargedDiodes, const PixelModuleData *moduleData,
29  int nBcid,
30  const PixelChargeCalibCondData *chargeCalibData, CLHEP::HepRandomEngine* rndmEngine,
31  InDetDD::IPixelReadoutManager * pixelReadout);
32 
33  void
34  randomNoise(SiChargedDiodeCollection& chargedDiodes, const double totalNoiseOccupancy,
35  const std::vector<float> &noiseShape, float overflowToT,
36  const PixelChargeCalibCondData *chargeCalibData, CLHEP::HepRandomEngine* rndmEngine,
37  InDetDD::IPixelReadoutManager * pixelReadout);
38 
39  //randomly disables certain elements, using moduleData to get probability
40  void
42  const PixelModuleData *moduleData,
43  CLHEP::HepRandomEngine* rndmEngine);
44 
45  //randomly disables certain elements, probability as a parameter
46  void
48  double disableProbability, CLHEP::HepRandomEngine* rndmEngine);
49 
50  //generate Time-Over-Threshold int values with mean, rms, and valid range
51  int
52  generateToT(CLHEP::HepRandomEngine* rndmEngine, double mean, double sd, const std::pair<int, int>& range);
53  //
54  double
55  getG4Time(const SiTotalCharge& totalCharge);
56 }//namespace
57 
58  #endif
mean
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Definition: dependence.cxx:254
PixelModuleData
Definition: PixelModuleData.h:22
InDetDD::IPixelReadoutManager
Definition: IPixelReadoutManager.h:22
PixelDigitization
Definition: PixelDigitizationUtilities.cxx:16
PixelDigitization::getG4Time
double getG4Time(const SiTotalCharge &totalCharge)
Definition: PixelNoiseFunctions.cxx:183
python.selector.AtlRunQuerySelectorLhcOlc.sd
sd
Definition: AtlRunQuerySelectorLhcOlc.py:612
SiChargedDiodeCollection
Definition: SiChargedDiodeCollection.h:109
PixelDigitization::generateToT
int generateToT(CLHEP::HepRandomEngine *rndmEngine, double mean, double sd, const std::pair< int, int > &range)
Definition: PixelNoiseFunctions.cxx:169
PixelChargeCalibCondData
Definition: PixelChargeCalibCondData.h:24
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
IPixelReadoutManager.h
PixelDigitization::crossTalk
void crossTalk(double crossTalk, SiChargedDiodeCollection &chargedDiodes)
Definition: PixelNoiseFunctions.cxx:25
SiTotalCharge
Definition: SiTotalCharge.h:24
PixelDigitization::randomNoise
void randomNoise(SiChargedDiodeCollection &chargedDiodes, const PixelModuleData *moduleData, int nBcid, const PixelChargeCalibCondData *chargeCalibData, CLHEP::HepRandomEngine *rndmEngine, InDetDD::IPixelReadoutManager *pixelReadout)
Definition: PixelNoiseFunctions.cxx:73
PixelDigitization::randomDisable
void randomDisable(SiChargedDiodeCollection &chargedDiodes, const PixelModuleData *moduleData, CLHEP::HepRandomEngine *rndmEngine)
Definition: PixelNoiseFunctions.cxx:147
PixelDigitization::thermalNoise
void thermalNoise(double thermalNoise, SiChargedDiodeCollection &chargedDiodes, CLHEP::HepRandomEngine *rndmEngine)
Definition: PixelNoiseFunctions.cxx:61