Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:08:13

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2022 - 2025 Whitney Armstrong, Wouter Deconinck, Sylvester Joosten, Dmitry Romanov, Yann Bedfer
0003 
0004 #pragma once
0005 
0006 #include <DD4hep/DD4hepUnits.h>
0007 
0008 namespace eicrecon {
0009 
0010 struct MPGDTrackerDigiConfig {
0011   // sub-systems should overwrite their own (see "detectors/MPGD/MPGD.cc")
0012 
0013   // Readout identifiers for tagging 1st and 2nd coord. of 2D-strip readout
0014   std::string readout{""};
0015 
0016   // - MPGD digitization parameters should come in pairs: one parameter per
0017   //  strip coordinate.
0018   // - "MPGDTrackerDigi" is not only digitization but also simulation. Which
0019   //  latter also relies on parameters. This time, a priori, one and only one
0020   //  for the whole detector.
0021   // => So that typically, one gets a set of 1(simulation) + 2(digitization) = 3
0022   //  parameters in all.
0023   //   E.g.: The parametrization of EDep -> amplitude of digit would be:
0024   //      Detector gain (1 simulation parameter)
0025   //        \times
0026   //      Charge Sharing \times Electronics amplification (2 digitization parameters, one per coordinate).
0027   // - Applying the simulation parameter to both coordinates imprints a
0028   //  correlation between the two.
0029   // - Here we simplify. With some justification at times: e.g. timing is
0030   //  dominated by primary electron => To first approximation, one and same
0031   //  "timeResolution" for both coordinates..
0032 
0033   double gain                            = 10000;
0034   std::array<double, 2> stripResolutions = {150 * dd4hep::um, 150 * dd4hep::um};
0035   std::array<int, 2> stripNumbers        = {1024, 1024}; // per module
0036   // NB: be aware of thresholds in npsim! E.g. https://github.com/eic/npsim/pull/9/files
0037   double threshold      = 0 * dd4hep::keV;
0038   double timeResolution = 8; // what units???
0039 };
0040 
0041 } // namespace eicrecon