FairRoot/PandaRoot
PndLmdTrackFinderTask.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndLmdTrackFinderTask -----
3 // ----- Created 22/10/09 by M. Michel -----
4 // -------------------------------------------------------------------------
5 
6 #ifndef PNDLMDTRACKFINDERTASK_H
7 #define PNDLMDTRACKFINDERTASK_H
8 
9 #include "FairTask.h"
10 #include "PndMCTrack.h"
11 #include "PndSdsClusterStrip.h"
12 #include "PndSdsGeoPar.h"
13 #include "PndSdsHit.h"
14 #include "PndSdsMCPoint.h"
15 #include "TrackData/PndTrackCand.h"
16 
17 #include <string>
18 #include <utility>
19 #include <vector>
20 
21 class TClonesArray;
22 
23 class PndLmdTrackFinderTask : public FairTask {
24  public:
26  PndLmdTrackFinderTask(Int_t inFinderMode = 0,
27  TString hitBranch = "LMDHitsStrip",
28  Int_t innSensPP = 8);
30  virtual ~PndLmdTrackFinderTask();
31 
33  virtual void SetParContainers();
34  virtual InitStatus Init();
35  virtual InitStatus ReInit();
36 
38  virtual void Exec(Option_t *opt);
39 
40  void SetVerbose(Int_t verbose) { fVerbose = verbose; };
41  void SetInaccuracy(Double_t accu) { dXY = accu; };
42  void SetSensStripFlag(bool fS) { flagStipSens = fS; };
43  void SetSensPixelFlag(bool fS) { flagPixelSens = fS; };
44 
45  private:
46  bool flagStipSens;
49  Int_t fFinderMode;
50  Int_t nSensPP;
51 
52  // std::vector<Int_t> GetHitPerCluster(PndSdsClusterStrip* clusterCand);
55 
57 
59  TClonesArray *fStripHitArray;
60 
62  TClonesArray *fTrackCandArray;
63 
64  void Register();
65  void Reset();
66  void ProduceHits();
67 
68  bool SortHitsByZ(std::vector<std::vector<std::pair<Int_t, bool> > > &hitsd,
69  Int_t nStripHits);
70  bool SortHitsByDet(std::vector<std::vector<std::pair<Int_t, bool> > > &hitsd,
71  Int_t nStripHits);
72  bool SortHitsByDet2(std::vector<std::vector<std::pair<Int_t, bool> > > &hitsd,
73  Int_t nStripHits); // uses PndLmdDim
74  void FindHitsI(std::vector<PndTrackCand> &tofill,
75  std::vector<std::vector<std::pair<Int_t, bool> > > &hitsd,
76  Int_t nStripHits);
77  void FindHitsII(std::vector<PndTrackCand> &tofill,
78  std::vector<std::vector<std::pair<Int_t, bool> > > &hitsd,
79  Int_t nStripHits);
80  void FindHitsIII(std::vector<PndTrackCand> &tofill,
81  std::vector<std::vector<std::pair<Int_t, bool> > > &hitsd,
82  Int_t nStripHits);
83 
85 };
86 
87 #endif /* PndLmdTrackFinderTASK_H */
int fVerbose
Definition: poormantracks.C:24
virtual void Exec(Option_t *opt)
#define verbose
PndLmdTrackFinderTask(Int_t inFinderMode=0, TString hitBranch="LMDHitsStrip", Int_t innSensPP=8)
virtual InitStatus ReInit()
void SetInaccuracy(Double_t accu)
Double_t
void FindHitsIII(std::vector< PndTrackCand > &tofill, std::vector< std::vector< std::pair< Int_t, bool > > > &hitsd, Int_t nStripHits)
bool SortHitsByDet2(std::vector< std::vector< std::pair< Int_t, bool > > > &hitsd, Int_t nStripHits)
ClassDef(PndLmdTrackFinderTask, 2)
Double_t GetTrackDip(PndMCTrack *myTrack)
void FindHitsI(std::vector< PndTrackCand > &tofill, std::vector< std::vector< std::pair< Int_t, bool > > > &hitsd, Int_t nStripHits)
void SetVerbose(Int_t verbose)
Double_t GetTrackCurvature(PndMCTrack *myTrack)
void FindHitsII(std::vector< PndTrackCand > &tofill, std::vector< std::vector< std::pair< Int_t, bool > > > &hitsd, Int_t nStripHits)
virtual InitStatus Init()
bool SortHitsByDet(std::vector< std::vector< std::pair< Int_t, bool > > > &hitsd, Int_t nStripHits)
bool SortHitsByZ(std::vector< std::vector< std::pair< Int_t, bool > > > &hitsd, Int_t nStripHits)