2626#include " DetectorsBase/Propagator.h"
2727#include " ITStracking/Constants.h"
2828
29- namespace o2
29+ namespace o2 ::its
3030{
31- namespace its
32- {
33-
34- enum class TrackingMode {
35- Sync,
36- Async,
37- Cosmics,
38- Unset, // Special value to leave a default in case we want to override via Configurable Params
39- };
40-
41- std::string asString (TrackingMode mode);
42- std::ostream& operator <<(std::ostream& os, TrackingMode v);
43-
44- template <typename Param>
45- class Configuration : public Param
46- {
47- public:
48- static Configuration<Param>& getInstance ()
49- {
50- static Configuration<Param> instance;
51- return instance;
52- }
53- Configuration (const Configuration<Param>&) = delete ;
54- const Configuration<Param>& operator =(const Configuration<Param>&) = delete ;
55-
56- private:
57- Configuration () = default ;
58- };
5931
6032struct TrackingParameters {
6133 int CellMinimumLevel () const noexcept { return MinTrackLength - constants::ClustersPerCell + 1 ; }
@@ -140,6 +112,8 @@ struct VertexingParameters {
140112 int zSpan = -1 ;
141113 bool SaveTimeBenchmarks = false ;
142114
115+ bool useTruthSeeding = false ; // overwrite found vertices with MC events
116+
143117 int nThreads = 1 ;
144118 bool PrintMemory = false ; // print allocator usage in epilog report
145119 size_t MaxMemory = std::numeric_limits<size_t >::max();
@@ -166,7 +140,24 @@ struct TimeFrameGPUParameters {
166140 int maxGPUMemoryGB = -1 ;
167141};
168142
169- } // namespace its
170- } // namespace o2
143+ namespace TrackingMode
144+ {
145+ enum Type : int8_t {
146+ Unset = -1 , // Special value to leave a default in case we want to override via Configurable Params
147+ Sync = 0 ,
148+ Async = 1 ,
149+ Cosmics = 2 ,
150+ Off = 3 ,
151+ };
152+
153+ Type fromString (std::string_view str);
154+ std::string toString (Type mode);
155+
156+ std::vector<TrackingParameters> getTrackingParameters (Type mode);
157+ std::vector<VertexingParameters> getVertexingParameters (Type mode);
158+
159+ }; // namespace TrackingMode
160+
161+ } // namespace o2::its
171162
172163#endif /* TRACKINGITSU_INCLUDE_CONFIGURATION_H_ */
0 commit comments