HerdSoftware  0.1.1
SDGaussianChargePacket.h
Go to the documentation of this file.
1 /*
2  * SDGaussianChargePacket.h
3  *
4  * Created on 23 Sep 2020
5  * Author: Valerio Formato
6  */
7 
8 #ifndef HERD_SDGAUSSIANCHARGEPACKET_H_
9 #define HERD_SDGAUSSIANCHARGEPACKET_H_
10 
11 // HerdSoftware headers
13 #include "common/DefaultValues.h"
14 #include "dataobjects/Point.h"
15 
16 // c++ headers
17 #include <vector>
18 
19 // this in c++17 will become
20 // namespace Herd::SiliconDetectorDigitizationTools {
21 namespace Herd {
22 namespace SiliconDetectorDigitizationTools {
23 // clang-format off
30 // clang-format on
31 
33 public:
36  virtual ~SDGaussianChargePacket() = default;
37 
38  virtual void Diffuse(float distance, CarrierType type) override;
39  virtual float IntegrateCharge(float xmin, float xmax) const override;
40  virtual std::pair<float, float> EffectiveRange() const override;
41 
42  void SetEffectiveDiffusionCoefficients(float posCoeff, float negCoeff) {
43  m_posEffDiffCoeff = posCoeff;
44  m_negEffDiffCoeff = negCoeff;
45  }
46 
47 private:
50  float m_sigma;
51 };
52 } // namespace SiliconDetectorDigitizationTools
53 } // namespace Herd
54 
55 #endif
float m_posEffDiffCoeff
Definition: SDGaussianChargePacket.h:48
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
virtual float IntegrateCharge(float xmin, float xmax) const override
Definition: SDGaussianChargePacket.cpp:19
#define DEFAULT_INIT(x)
Definition: DefaultValues.h:23
Class to describe a charge packet that diffuses with a simple gaussian profile.
Definition: SDGaussianChargePacket.h:32
float m_negEffDiffCoeff
Definition: SDGaussianChargePacket.h:49
virtual void Diffuse(float distance, CarrierType type) override
Definition: SDGaussianChargePacket.cpp:6
A class describing a vector in 3D space.
Definition: Vec3D.h:33
virtual std::pair< float, float > EffectiveRange() const override
Definition: SDGaussianChargePacket.cpp:31
float m_sigma
Definition: SDGaussianChargePacket.h:50
void SetEffectiveDiffusionCoefficients(float posCoeff, float negCoeff)
Definition: SDGaussianChargePacket.h:42
SDGaussianChargePacket(Point origin)
Definition: SDGaussianChargePacket.h:34