Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:13:04

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2025 Minho Kim, Sylvester Joosten, Derek Anderson, Wouter Deconinck
0003 
0004 #pragma once
0005 
0006 #include <string>
0007 #include <vector>
0008 #include <edm4eic/unit_system.h>
0009 
0010 namespace eicrecon {
0011 
0012 struct SimCalorimeterHitProcessorConfig {
0013 
0014   // parameters for attenuation function
0015   // [0] * exp(-|z_ref - z| / [1]) + (1 - [0]) * exp(-|z_ref - z| / [2])
0016   // specified in edm4eic::units where dimensionfull
0017   std::vector<double> attenuationParameters;
0018 
0019   std::string readout{""};
0020   std::string attenuationReferencePositionName{""};
0021   // fields for merging hits
0022   std::vector<std::string> hitMergeFields{};
0023   // fields for merging contributions
0024   std::vector<std::string> contributionMergeFields{};
0025 
0026   // inverse of the propagation speed of hits in the detector material
0027   // declared as an inverse to avoid division by zero
0028   double inversePropagationSpeed{};
0029   // detector-related time delay (e.g., scintillation)
0030   double fixedTimeDelay{};
0031   // time window for grouping contributions
0032   double timeWindow{100 * edm4eic::unit::ns};
0033 };
0034 
0035 } // namespace eicrecon