5#ifndef MM_DIGITIZATION_STRIPRESPONSESIMULATION_H
6#define MM_DIGITIZATION_STRIPRESPONSESIMULATION_H
23Comments to be added here...
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;
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
std::unique_ptr< TFile > m_outputFile
float getQThreshold() const
void whichStrips(DataCache &cache, const MM_DigitToolInput &digiInput, double gainFraction, double stripPitch, CLHEP::HepRandomEngine *rndmEngine) const
float getTransverseDiffusion(float posY, CLHEP::HepRandomEngine *rndmEngine) const
MM_StripToolOutput GetResponseFrom(const MM_DigitToolInput &digiInput, double gainFraction, double stripPitch, CLHEP::HepRandomEngine *rndmEngine) const
std::map< std::string, std::unique_ptr< TH2F > > m_mapOf2DHistograms
std::map< std::string, std::unique_ptr< TH1F > > m_mapOfHistograms
double getDriftVelocity() const
float getLongitudinalDiffusion(float posY, CLHEP::HepRandomEngine *rndmEngine) const
float getEffectiveCharge(CLHEP::HepRandomEngine *rndmEngine) const
float getLongitudinalDiffusionSigma() const
float getDriftGapWidth() const
float getTransversDiffusionSigma() const
float getInteractionDensityMean() const
float getInteractionDensitySigma() const
float getPathLengthTraveled(CLHEP::HepRandomEngine *rndmEngine) const
float generateTransverseDiffusion(float posY, CLHEP::HepRandomEngine *rndmEngine) const
MM_StripsResponseSimulation(ConfigModule &&cfg)
virtual ~MM_StripsResponseSimulation()
std::unique_ptr< CLHEP::RandGeneral > m_randNelectrons
static constexpr unsigned int s_NelectronPropBins
float crossTalk2
// crosstalk of second neighbor strips, it's 6%
float qThreshold
qThreshold=2e, we accept a good strip if the charge is >=2e
float crossTalk1
crosstalk of neighbor strips, it's 15%
std::vector< std::vector< float > > finalqStrip
std::vector< std::vector< float > > finaltStrip
std::vector< float > qStripElectronics
std::vector< std::unique_ptr< MM_IonizationCluster > > IonizationClusters
std::vector< float > tStripElectronicsAbThr
std::vector< int > finalNumberofStrip