|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MM_DIGITIZATION_STRIPRESPONSESIMULATION_H
6 #define MM_DIGITIZATION_STRIPRESPONSESIMULATION_H
34 #include "GaudiKernel/IToolSvc.h"
35 #include "GaudiKernel/Service.h"
36 #include "GaudiKernel/StatusCode.h"
56 class HepRandomEngine;
88 CLHEP::HepRandomEngine* rndmEngine)
const;
116 double stripPitch, CLHEP::HepRandomEngine* rndmEngine)
const;
float getTransversDiffusionSigma() const
float longitudinalDiffusionSigma
// 0.350/10 diffusSigma=transverse diffusion (350 microm per 1cm ) for 93:7 @ 600 V/cm,...
float interactionDensityMean
std::vector< std::vector< float > > finalqStrip
float crossTalk1
crosstalk of neighbor strips, it's 15%
void whichStrips(DataCache &cache, const MM_DigitToolInput &digiInput, double gainFraction, double stripPitch, CLHEP::HepRandomEngine *rndmEngine) const
virtual ~MM_StripsResponseSimulation()
double getDriftVelocity() const
std::vector< float > tStripElectronicsAbThr
float driftVelocity
//0.050 drift velocity in [mm/ns], driftGap=5 mm +0.128 mm (the amplification gap)
std::unique_ptr< TFile > m_outputFile
float getDriftGapWidth() const
float interactionDensitySigma
std::unique_ptr< CLHEP::RandGeneral > m_randNelectrons
MM_StripToolOutput GetResponseFrom(const MM_DigitToolInput &digiInput, double gainFraction, double stripPitch, CLHEP::HepRandomEngine *rndmEngine) const
float getQThreshold() const
static constexpr unsigned int s_NelectronPropBins
float getInteractionDensityMean() const
Class to provide easy MsgStream access and capabilities.
float getLongitudinalDiffusion(float posY, CLHEP::HepRandomEngine *rndmEngine) const
float qThreshold
qThreshold=2e, we accept a good strip if the charge is >=2e
std::vector< int > finalNumberofStrip
float getEffectiveCharge(CLHEP::HepRandomEngine *rndmEngine) const
float getLongitudinalDiffusionSigma() const
float getTransverseDiffusion(float posY, CLHEP::HepRandomEngine *rndmEngine) const
MM_StripsResponseSimulation(ConfigModule &&cfg)
float transverseDiffusionSigma
float crossTalk2
// crosstalk of second neighbor strips, it's 6%
std::vector< float > qStripElectronics
std::map< std::string, std::unique_ptr< TH1F > > m_mapOfHistograms
std::map< std::string, std::unique_ptr< TH2F > > m_mapOf2DHistograms
float getPathLengthTraveled(CLHEP::HepRandomEngine *rndmEngine) const
std::vector< std::vector< float > > finaltStrip
std::vector< std::unique_ptr< MM_IonizationCluster > > IonizationClusters
float getInteractionDensitySigma() const
float generateTransverseDiffusion(float posY, CLHEP::HepRandomEngine *rndmEngine) const