PandaRoot
PndPreselectSttHits.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  * PndPreselectSttHits.h
15  *
16  * Created on: 06.07.2021
17  * Author: tstockmanns
18  */
19 
20 #pragma once
21 
22 #include "TClonesArray.h"
23 #include <vector>
24 
25 #include "PndSttHit.h"
26 
28  public:
29 
31 
32 
33  virtual ~PndPreselectSttHits();
34 
35  virtual std::vector<std::vector<PndSttHit *>> PreselectSttHits() = 0;
36  virtual std::vector<PndTrackCand> GetPndTrackCands(std::vector<std::vector<PndSttHit *>> &solutions);
37 
38  virtual void Init(TClonesArray *sttHits, TClonesArray *tubeArray = nullptr) = 0;
39 
40  virtual void AddAdditionalBranches(TString name, TClonesArray *array)
41  {
42  fBranchMap[name] = array;
43  }
44 
45  protected:
46  void SetSttHitsArray(TClonesArray* array){fSttHits = array;}
47 
48  TClonesArray* fSttHits= nullptr;
49  std::map<TString, TClonesArray *> fBranchMap;
50 };
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()