PandaRoot
PndPreselectSttHits.h
Go to the documentation of this file.
1 /*
2  * PndPreselectSttHits.h
3  *
4  * Created on: 06.07.2021
5  * Author: tstockmanns
6  */
7 
8 #pragma once
9 
10 #include "TClonesArray.h"
11 #include <vector>
12 
13 #include "PndSttHit.h"
14 
16  public:
17 
19 
20 
21  virtual ~PndPreselectSttHits();
22 
23  virtual std::vector<std::vector<PndSttHit *>> PreselectSttHits() = 0;
24  virtual std::vector<PndTrackCand> GetPndTrackCands(std::vector<std::vector<PndSttHit *>> &solutions);
25 
26  virtual void Init(TClonesArray *sttHits, TClonesArray *tubeArray = nullptr) = 0;
27 
28  virtual void AddAdditionalBranches(TString name, TClonesArray *array)
29  {
30  fBranchMap[name] = array;
31  }
32 
33  protected:
34  void SetSttHitsArray(TClonesArray* array){fSttHits = array;}
35 
36  TClonesArray* fSttHits= nullptr;
37  std::map<TString, TClonesArray *> fBranchMap;
38 };
virtual std::vector< std::vector< PndSttHit * > > PreselectSttHits()=0
virtual void Init(TClonesArray *sttHits, TClonesArray *tubeArray=nullptr)=0
void SetSttHitsArray(TClonesArray *array)
std::map< TString, TClonesArray * > fBranchMap
virtual void AddAdditionalBranches(TString name, TClonesArray *array)
Search for tracks only in given branches. If no BranchName is given all tracking detectors are taken...
virtual std::vector< PndTrackCand > GetPndTrackCands(std::vector< std::vector< PndSttHit *>> &solutions)
virtual ~PndPreselectSttHits()