PandaRoot
PndSttTrackFinderIdeal.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 // ----- PndSttTrackFinderIdeal header file -----
15 // ----- Created 28/03/06 by R. Castelijns -----
16 // -------------------------------------------------------------------------
17 
27 #ifndef PNDSTTTRACKFINDERIDEAL
28 #define PNDSTTTRACKFINDERIDEAL 1
29 
30 #include "PndSttTrackFinder.h"
31 #include "PndMCTrack.h"
32 
33 #include "TList.h"
34 #include "TClonesArray.h"
35 
36 class PndTrackCand;
37 class PndSttHit;
38 class FairMCPoint;
39 // class TClonesArray;
40 
42 
43  public:
44  void GetTrackletCircular(Double_t firstX, Double_t firstY, Double_t firstR, Double_t secondX, Double_t secondY, Double_t secondR, Double_t thirdX, Double_t thirdY,
45  Double_t thirdR, Double_t *circleRadii, Double_t *circleCentersX, Double_t *circleCentersY) const;
46 
47  // void ZoomTrack(Double_t &dSeed, Double_t &phiSeed, Double_t &rSeed, PndSttTrack *track); // not implemented
48  void GetTrack(Double_t &dSeed, Double_t &phiSeed, Double_t &rSeed, Double_t &zSeed, Double_t &tanLamSeed, Int_t mcTrackNo);
49 
52 
54  PndSttTrackFinderIdeal(Int_t verbose);
55 
57  virtual ~PndSttTrackFinderIdeal();
58 
60  virtual void Init();
61 
72  virtual Int_t DoFind(TClonesArray *trackCandArray, TClonesArray *trackArray, TClonesArray *helixHitArray);
73 
74  virtual void AddHitCollection(TClonesArray *mHitArray, TClonesArray *mPointArray)
75  {
76  fHitCollectionList.Add(mHitArray);
77  fPointCollectionList.Add(mPointArray);
78  }
79  void plotAllStraws();
80  Bool_t putStraw(Double_t xpos, Double_t ypos, Double_t radius);
81 
82  TClonesArray *fTubeArray;
83  void SetTubeArray(TClonesArray *tubeArray) { fTubeArray = tubeArray; };
84 
85  private:
87  TClonesArray *fMCTrackArray;
88 
89  Bool_t rootoutput;
90 
91  TList fHitCollectionList;
92  TList fPointCollectionList;
93  PndSttHit *GetHitFromCollections(Int_t hitCounter);
94  FairMCPoint *GetPointFromCollections(Int_t hitCounter);
95 
96  ClassDef(PndSttTrackFinderIdeal, 1);
97 };
98 
99 #endif
virtual void Init()
virtual void AddHitCollection(TClonesArray *mHitArray, TClonesArray *mPointArray)
void GetTrackletCircular(Double_t firstX, Double_t firstY, Double_t firstR, Double_t secondX, Double_t secondY, Double_t secondR, Double_t thirdX, Double_t thirdY, Double_t thirdR, Double_t *circleRadii, Double_t *circleCentersX, Double_t *circleCentersY) const
virtual Int_t DoFind(TClonesArray *trackCandArray, TClonesArray *trackArray, TClonesArray *helixHitArray)
Bool_t putStraw(Double_t xpos, Double_t ypos, Double_t radius)
void SetTubeArray(TClonesArray *tubeArray)
virtual ~PndSttTrackFinderIdeal()
void GetTrack(Double_t &dSeed, Double_t &phiSeed, Double_t &rSeed, Double_t &zSeed, Double_t &tanLamSeed, Int_t mcTrackNo)