gdynamicDigitization
Loading...
Searching...
No Matches
gParticleCounterDigitization.cc
Go to the documentation of this file.
2
3// See header for API docs.
5 double timeWindow = 10; // electronic readout time-window of the detector
6 double gridStartTime = 0; // defines the window grid
7 auto hitBitSet = HitBitSet("000000"); // defines what information to be stored in the hit
8 double maxStep = 1 * CLHEP::mm;
9
10 readoutSpecs = std::make_shared<GReadoutSpecs>(timeWindow, gridStartTime, hitBitSet, maxStep, log);
11
12 return true;
13}
14
15// See header for API docs.
16std::unique_ptr<GDigitizedData> GParticleCounterDigitization::digitizeHitImpl(GHit* ghit, size_t hitn) {
17 // Expected to be a single-identity detector: take the first identity entry.
18 GIdentifier identity = ghit->getGID().front();
19
20 auto gdata = std::make_unique<GDigitizedData>(gopts, ghit);
21
22 gdata->includeVariable(identity.getName(), identity.getValue());
23 gdata->includeVariable("hitn", static_cast<int>(hitn));
24 gdata->includeVariable("totEdep", ghit->getTotalEnergyDeposited());
25 gdata->includeVariable("time", ghit->getAverageTime());
26 gdata->includeVariable("pid", ghit->getPid());
27 gdata->includeVariable("totalE", ghit->getE());
28
29 return gdata;
30}
std::shared_ptr< GLogger > log
std::shared_ptr< GOptions > gopts
Options used by the digitization plugin instance.
std::shared_ptr< const GReadoutSpecs > readoutSpecs
Readout specs are created during initialization and treated as immutable.
int getPid() const
std::vector< GIdentifier > getGID() const
double getTotalEnergyDeposited()
double getAverageTime()
double getE() const
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.
std::bitset< NHITBITS > HitBitSet
std::string getName() const
int getValue() const