gdynamicDigitization
Loading...
Searching...
No Matches
ginternalDigitization.h
Go to the documentation of this file.
1#pragma once
2
29#include "gdynamicdigitization.h" // Base class for dynamic digitization.
30#include <map>
31#include <vector>
32#include <string>
33
36public:
37 // inherit the base (const std::shared_ptr<GOptions>&) ctor
47 bool defineReadoutSpecsImpl() override;
48
58 std::unique_ptr<GDigitizedData> digitizeHitImpl(GHit* ghit, size_t hitn) override;
59};
60
63public:
64 // inherit the base (const std::shared_ptr<GOptions>&) ctor
73 bool defineReadoutSpecsImpl() override;
74
84 std::unique_ptr<GDigitizedData> digitizeHitImpl(GHit* ghit, size_t hitn) override;
85};
86
89public:
90 // inherit the base (const std::shared_ptr<GOptions>&) ctor
99 bool defineReadoutSpecsImpl() override;
100
110 std::unique_ptr<GDigitizedData> digitizeHitImpl(GHit* ghit, size_t hitn) override;
111
121 bool loadConstantsImpl(int runno, std::string const &variation) override;
122
123private:
124 // Calibration maps (keys are particle IDs).
125 // Currently:
126 // 11 (electrons), 211 (pions), 2112 (neutrons), 2212 (protons)
127 std::map<int, std::vector<double>> nielfactorMap;
128 std::map<int, std::vector<double>> E_nielfactorMap;
129 std::map<int, double> pMassMeV;
130
140 double getNielFactorForParticleAtEnergy(int pid, double energy);
141};
142
Class for dosimeter digitization. Inherits from GDynamicDigitization.
bool defineReadoutSpecsImpl() override
Defines readout specifications for dosimeter digitization.
std::unique_ptr< GDigitizedData > digitizeHitImpl(GHit *ghit, size_t hitn) override
Digitizes a hit for dosimeter detectors.
bool loadConstantsImpl(int runno, std::string const &variation) override
Loads digitization constants for dosimeter digitization.
Abstract base class for dynamic digitization functionality.
GDynamicDigitization(const std::shared_ptr< GOptions > &g)
Class for flux detector digitization. Inherits from GDynamicDigitization.
std::unique_ptr< GDigitizedData > digitizeHitImpl(GHit *ghit, size_t hitn) override
Digitizes a hit for flux detectors.
bool defineReadoutSpecsImpl() override
Defines readout specifications for flux digitization.
Class for particle counter digitization. Inherits from GDynamicDigitization.
std::unique_ptr< GDigitizedData > digitizeHitImpl(GHit *ghit, size_t hitn) override
Digitizes a hit for particle counters.
bool defineReadoutSpecsImpl() override
Defines readout specifications for particle counter digitization.