PandaRoot
PndSttFindTracks.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 // ----- PndSttFindTracks header file -----
15 // ----- Created 29/03/06 by V. Friese -----
16 // -------------------------------------------------------------------------
17 
28 #ifndef PNDSTTFINDTRACKS
29 #define PNDSTTFINDTRACKS 1
30 
31 #include <PndPersistencyTask.h>
32 #include "PndGeoSttPar.h"
33 
34 #include <string>
35 #include <vector>
36 
37 class PndSttTrackFinder;
38 class TClonesArray;
39 
41 
42  public:
45 
50  PndSttFindTracks(PndSttTrackFinder *finder, Int_t verbose = 1);
51 
58  PndSttFindTracks(const char *name, const char *title = "PndPersistencyTask", PndSttTrackFinder *finder = nullptr, Int_t verbose = 1);
59 
61  virtual ~PndSttFindTracks();
62 
64  virtual InitStatus Init();
65 
67  virtual void Exec(Option_t *opt);
68 
70  virtual void Finish();
71 
72  void SetParContainers();
73 
75  PndSttTrackFinder *GetFinder() { return fFinder; };
76  Int_t GetNofTracks() { return fNofTracks; };
77 
79  void UseFinder(PndSttTrackFinder *finder) { fFinder = finder; };
80 
82  void AddHitCollectionName(char *hitCollectionName, char *pointCollectionName);
83 
85  void SetPersistence(Bool_t persistence) { SetPersistency(persistence); }
86 
88  void SetHelixHitProduction(Bool_t hhprod = kTRUE) { fHelixHitProduction = hhprod; }
89 
90  private:
91  void AddAllCollections();
92  void AddHitCollection(char const *collectionName, char const *pointCollectionName);
93 
94  PndSttTrackFinder *fFinder; // Pointer to TrackFinder concrete class
95  TClonesArray *fTrackCandArray; // Output array of PndTrackCand
96  TClonesArray *fTrackArray; // Output array of PndTrack
97 
98  TClonesArray *fHelixHitArray; // Output array of PndSttHelixHit
99 
100  Int_t fNofTracks; // Number of tracks created
101  Int_t fVerbose; // Verbosity level
102 
103  std::vector<std::string> fHitCollectionNames;
104  std::vector<std::string> fPointCollectionNames;
105 
106  Bool_t fCollectionsComplete;
107 
109  Bool_t fHelixHitProduction;
110 
111  Int_t fEventCounter;
112  // CHECK added
114  TClonesArray *fTubeArray;
115 
116  PndGeoSttPar *fSttParameters; // CHECK added
117 
118  ClassDef(PndSttFindTracks, 1);
119 };
120 
121 #endif
PndSttTrackFinder * GetFinder()
void SetPersistence(Bool_t persistence)
void SetPersistency(Bool_t val=kTRUE)
virtual InitStatus Init()
virtual void Finish()
void SetHelixHitProduction(Bool_t hhprod=kTRUE)
virtual void Exec(Option_t *opt)
void UseFinder(PndSttTrackFinder *finder)
void SetParContainers()
void AddHitCollectionName(char *hitCollectionName, char *pointCollectionName)
virtual ~PndSttFindTracks()