PandaRoot
PndTrackEvaluator.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /*
14  * PndTrackEvaluator.h
15  *
16  * Created on: 18.08.2021
17  * Author: tstockmanns
18  */
19 
20 #ifndef TRACKING_PNDTRACKINGTOOLS_PNDTRACKEVALUATOR_H_
21 #define TRACKING_PNDTRACKINGTOOLS_PNDTRACKEVALUATOR_H_
22 
23 #include <map>
24 #include <vector>
25 #include <functional>
26 
27 #include "PndTrackEvaluatorDetI.h"
28 
29 #include "PndTrack.h"
31  public:
33  virtual ~PndTrackEvaluator();
34 
35  // void AddTest(std::function<bool(PndTrack)> function) { fTests.push_back(function); }
36  bool IsValidTrack(PndTrack &track);
37 
38  bool CheckContinuity(PndTrack &track);
39 
40  void AddDetectorEvaluator(int branchId, PndTrackEvaluatorsDetI *eval) { detEvaluators[branchId] = eval; }
41 
42  private:
43  // std::vector<std::function<bool(PndTrack)>> fTests;
44  std::map<int, PndTrackEvaluatorDetI *> detEvaluators;
45  PndSttStrawMap *fStrawMap = nullptr;
46 };
47 
48 #endif /* TRACKING_PNDTRACKINGTOOLS_PNDTRACKEVALUATOR_H_ */
void AddDetectorEvaluator(int branchId, PndTrackEvaluatorsDetI *eval)
bool CheckContinuity(PndTrack &track)
bool IsValidTrack(PndTrack &track)
virtual ~PndTrackEvaluator()