FairRoot/PandaRoot
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
CircleHoughTrackFunctor Class Reference

#include <PndTrackFunctor.h>

Inheritance diagram for CircleHoughTrackFunctor:
PndTrackFunctor

Public Member Functions

virtual Bool_t operator() (FairMultiLinkedData *a, Bool_t primary)
 

Static Public Member Functions

static PndTrackFunctormake_PndTrackFunctor (std::string functorName)
 

Private Member Functions

Bool_t Call (FairMultiLinkedData *a, Bool_t primary)
 
void Print ()
 

Detailed Description

Definition at line 84 of file PndTrackFunctor.h.

Member Function Documentation

Bool_t CircleHoughTrackFunctor::Call ( FairMultiLinkedData *  a,
Bool_t  primary 
)
inlineprivatevirtual

Implements PndTrackFunctor.

Definition at line 86 of file PndTrackFunctor.h.

References Bool_t.

86  {
87  if (primary == kFALSE) return kFALSE;
88  FairRootManager* ioman = FairRootManager::Instance();
89  Bool_t possibleTrack = kFALSE;
90 
91  Int_t nHitsMvdPixel = a->GetLinksWithType(ioman->GetBranchId("MVDHitsPixel")).GetNLinks();
92  Int_t nHitsMvdStrip = a->GetLinksWithType(ioman->GetBranchId("MVDHitsStrip")).GetNLinks();
93  if (nHitsMvdPixel + nHitsMvdStrip > 2) { // First requirement: more than two MVD hits
94  //Int_t nHitsStt = a->GetLinksWithType(ioman->GetBranchId("STTHit")).GetNLinks();
95  //Int_t nHitsGem = a->GetLinksWithType(ioman->GetBranchId("GEMHit")).GetNLinks();
96  possibleTrack = kTRUE;
97  //possibleTrack = (nHitsMvdPixel + nHitsMvdStrip + nHitsStt + nHitsGem > 6); // Second requirement: More than six hits total
98  }
99  return possibleTrack;
100  }
Int_t a
Definition: anaLmdDigi.C:126
PndTrackFunctor * PndTrackFunctor::make_PndTrackFunctor ( std::string  functorName)
staticinherited

Definition at line 9 of file PndTrackFunctor.cxx.

Referenced by PndTrackingQATask::SetFunctor(), and PndIdealTrackFinder::SetTrackSelector().

10 {
11  if (functorName.compare("StandardTrackFunctor") == 0)
12  return new StandardTrackFunctor();
13  if (functorName.compare("OnlySttFunctor") == 0)
14  return new OnlySttFunctor();
15  if (functorName.compare("RiemannMvdSttGemFunctor") == 0)
16  return new RiemannMvdSttGemFunctor();
17  if (functorName.compare("CircleHoughTrackFunctor") == 0)
18  return new CircleHoughTrackFunctor();
19  if (functorName.compare("FtsTrackFunctor") == 0)
20  return new FtsTrackFunctor();
21  if (functorName.compare("NoFtsTrackFunctor") == 0)
22  return new NoFtsTrackFunctor();
23  else {
24  std::cout << "-E- PndTrackFunctor: No valid functorName given: " << functorName << std::endl;
25  return new AllTracksFunctor();
26  }
27 }
virtual Bool_t PndTrackFunctor::operator() ( FairMultiLinkedData *  a,
Bool_t  primary 
)
inlinevirtualinherited

Definition at line 19 of file PndTrackFunctor.h.

References PndTrackFunctor::Call().

19 {return Call(a, primary);};
Int_t a
Definition: anaLmdDigi.C:126
virtual Bool_t Call(FairMultiLinkedData *a, Bool_t primary)=0
void CircleHoughTrackFunctor::Print ( )
inlineprivatevirtual

Implements PndTrackFunctor.

Definition at line 101 of file PndTrackFunctor.h.

101  {
102  std::cout << "CircleHoughTrackFunctor: >= 3 Hits in MVD and primary track" << std::endl;
103  }

The documentation for this class was generated from the following file: