Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-05 08:15:15

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2023 - 2025, Simon Gardner, Dmitry Kalinkin
0003 
0004 #pragma once
0005 
0006 namespace eicrecon {
0007 
0008 struct MatrixConfig {
0009   // Defaults here are for RPOTS
0010   double nomMomentum;
0011   std::vector<std::vector<double>> aX;
0012   std::vector<std::vector<double>> aY;
0013   double local_x_offset;
0014   double local_y_offset;
0015   double local_x_slope_offset;
0016   double local_y_slope_offset;
0017 };
0018 
0019 struct MatrixTransferStaticConfig {
0020 
0021   float partMass{0.938272};
0022   float partCharge{1};
0023   long long partPDG{2212};
0024 
0025   double crossingAngle{0.025};
0026 
0027   std::vector<MatrixConfig> matrix_configs;
0028 
0029   double hit1minZ{0};
0030   double hit1maxZ{0};
0031   double hit2minZ{0};
0032   double hit2maxZ{0};
0033 
0034   std::string readout{""};
0035 
0036   bool requireBeamProton{true};
0037   bool requireMatchingMatrix{true};
0038 };
0039 
0040 } // namespace eicrecon