Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SeedFinderFTFConfig.hpp
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SeedFinderFTFConfig.hpp
1 // This file is part of the Acts project.
2 //
3 // Copyright (C) 2021 CERN for the benefit of the Acts project
4 //
5 // This Source Code Form is subject to the terms of the Mozilla Public
6 // License, v. 2.0. If a copy of the MPL was not distributed with this
7 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9 #pragma once
10 
11 // TODO: update to C++17 style
12 
16 #include "Acts/Seeding/TrigBase.hpp" //definition of Trigsispacepoint base and trigtriplets
17 
18 #include <memory>
19 
20 // core algorithm so in acts namespace
21 namespace Acts {
22 
23 template <typename T>
24 class SeedFilter;
25 
26 template <typename SpacePoint>
28  // // how many sigmas of scattering angle should be considered?
29  float sigmaScattering = 5;
30 
31  // Seed cut
33 
35  std::shared_ptr<Acts::SeedFilter<SpacePoint>> seedFilter;
36 
37  // //detector ROI
38  // // derived values, set on SeedFinder construction
39  float highland = 0;
41  // bool isInInternalUnits = false;
43  unsigned int maxSeedsPerSpM = 5;
44 
45  float m_phiSliceWidth{};
46  float m_nMaxPhiSlice{};
47  bool m_useClusterWidth = false;
49  std::vector<TrigInDetSiLayer> m_layerGeometry;
50 
51  // for run function
52  // m_settings:
53  bool m_LRTmode = true; // eventually want to set from full chain
54  bool m_useEtaBinning = true;
55  bool m_doubletFilterRZ = true;
56  float m_minDeltaRadius = 5.0; // eventually set in config or to equivalent
57  // acts 2.0 but increasing to test loops
58  // float m_maxDeltaRadius = 270.0 ;
59  float m_tripletD0Max = 4.0; // m_settings
60  unsigned int m_maxTripletBufferLength = 3;
61 
62  // ROI:
63  bool containsPhi() {
64  return false;
65  // need to implement this function
66  }
67 
69  // 2 member functions
71  // thorw statement if the isInternalUnits member is false, ie if dont call
72  // this function
74  // use a formula to calculate scattering
75 
76  return config;
77  }
78 
80  // throw statement if the isInternalUnits member is false, ie if dont call
81  // this function
83  // divides inputs by 1mm, all ones input
84  // changes member inInInternalUnits to true
85  return config;
86  }
87 
88 }; // end of config struct
89 
90 } // namespace Acts