Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-26 08:22:00

0001 /** TRACCC library, part of the ACTS project (R&D line)
0002  *
0003  * (c) 2021-2022 CERN for the benefit of the ACTS project
0004  *
0005  * Mozilla Public License Version 2.0
0006  */
0007 
0008 #pragma once
0009 
0010 #include "traccc/definitions/qualifiers.hpp"
0011 #include "traccc/edm/container.hpp"
0012 
0013 namespace traccc {
0014 
0015 /// Header: unsigned int for the number of lin_circles per spacepoint bin
0016 
0017 /// Item: transformed coordinate of doublet of middle-bottom or middle-top
0018 struct lin_circle {
0019   // z origin
0020   scalar m_Zo;
0021   // cotangent of pitch angle
0022   scalar m_cotTheta;
0023   // reciprocal of square of distance between two spacepoints
0024   scalar m_iDeltaR;
0025   // error term for sp-pair without correlation of middle space point
0026   scalar m_Er;
0027   // u component in transformed coordinate
0028   scalar m_U;
0029   // v component in transformed coordinate
0030   scalar m_V;
0031 
0032   TRACCC_HOST_DEVICE
0033   const scalar& Zo() const { return m_Zo; }
0034 
0035   TRACCC_HOST_DEVICE
0036   const scalar& cotTheta() const { return m_cotTheta; }
0037 
0038   TRACCC_HOST_DEVICE
0039   const scalar& iDeltaR() const { return m_iDeltaR; }
0040 
0041   TRACCC_HOST_DEVICE
0042   const scalar& Er() const { return m_Er; }
0043 
0044   TRACCC_HOST_DEVICE
0045   const scalar& U() const { return m_U; }
0046 
0047   TRACCC_HOST_DEVICE
0048   const scalar& V() const { return m_V; }
0049 };
0050 
0051 /// Declare all lin_circle collection types
0052 using lin_circle_collection_types = collection_types<lin_circle>;
0053 
0054 }  // namespace traccc