Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-03 08:49:41

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2024 Souvik Paul
0003 
0004 #pragma once
0005 
0006 #include <DD4hep/DD4hepUnits.h>
0007 
0008 namespace eicrecon {
0009 
0010 struct LGADPulseDigitizationConfig {
0011   int adc_bit = 8;
0012   int tdc_bit = 10;
0013   // total number of TDC/ADC values
0014   // Since digitizer starts at zero, max ADC value = adc_range - 1
0015   // Similar for TDC
0016   int adc_range = std::pow(2, adc_bit);
0017   int tdc_range = std::pow(2, tdc_bit);
0018 
0019 
0020   double t_thres      = -0.1 * adc_range;  // TDC value = time when pulse exceed t_thres. Negative because LGAD voltage is negative when hit
0021   // period of the sensor clock. Time internal to sensor will all be digitized to integer multiple
0022   // of tInterval
0023   double tMax         = 25 * dd4hep::ns; // 25 ns is the period of 40MHz EIC clock
0024 };
0025 
0026 } // namespace eicrecon