FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
PndMQStraightLineTrackFinder Class Reference

#include <PndMQStraightLineTrackFinder.h>

Public Member Functions

 PndMQStraightLineTrackFinder ()
 
virtual ~PndMQStraightLineTrackFinder ()
 
void SetVerbose (Int_t verbose)
 
void SetSearchRadius (Double_t accu)
 
std::vector< PndTrackCandFindTracks (std::vector< PndSdsHit > hits)
 

Protected Member Functions

Double_t GetTrackDip (PndMCTrack *myTrack)
 
Double_t GetTrackCurvature (PndMCTrack *myTrack)
 
void SortHitsToLayers (std::vector< PndSdsHit > hits)
 
std::vector< std::vector< int > > GetStartCombination (int firstLayer, int secondLayer)
 
double DistanceOfPoints (TVector3 first, TVector3 second)
 

Private Attributes

Double_t fdXY
 
Int_t fNLayers
 
std::vector< std::vector
< std::pair< PndSdsHit, bool > > > 
fHitsPerLayer
 

Detailed Description

Definition at line 28 of file PndMQStraightLineTrackFinder.h.

Constructor & Destructor Documentation

PndMQStraightLineTrackFinder::PndMQStraightLineTrackFinder ( )

Default constructor

Definition at line 22 of file PndMQStraightLineTrackFinder.cxx.

References fdXY, fHitsPerLayer, and fNLayers.

22  :
23  fNLayers(4)
24 {
25  fdXY = 0.1;
26  fHitsPerLayer.resize(fNLayers);
27 }
std::vector< std::vector< std::pair< PndSdsHit, bool > > > fHitsPerLayer
PndMQStraightLineTrackFinder::~PndMQStraightLineTrackFinder ( )
virtual

Destructor

Definition at line 34 of file PndMQStraightLineTrackFinder.cxx.

35 {
36 }

Member Function Documentation

double PndMQStraightLineTrackFinder::DistanceOfPoints ( TVector3  first,
TVector3  second 
)
protected

Definition at line 97 of file PndMQStraightLineTrackFinder.cxx.

98 {
99  return (first - second).Mag();
100 }
std::vector< PndTrackCand > PndMQStraightLineTrackFinder::FindTracks ( std::vector< PndSdsHit hits)

Definition at line 106 of file PndMQStraightLineTrackFinder.cxx.

References GetStartCombination(), i, and SortHitsToLayers().

107 {
109  std::vector<std::vector<int> > startCombi = GetStartCombination(0,1);
110  for (int i = 0; i < startCombi.size(); i++){
111 
112  }
113 
114 }
Int_t i
Definition: run_full.C:25
std::vector< std::vector< int > > GetStartCombination(int firstLayer, int secondLayer)
void SortHitsToLayers(std::vector< PndSdsHit > hits)
CbmHit * hits[nHits]
Definition: RiemannTest.C:19
std::vector< std::vector< int > > PndMQStraightLineTrackFinder::GetStartCombination ( int  firstLayer,
int  secondLayer 
)
protected

Definition at line 49 of file PndMQStraightLineTrackFinder.cxx.

References fHitsPerLayer.

Referenced by FindTracks().

50 {
51  std::vector< std::vector<int> > result;
52  for (int firstL = 0; firstL < fHitsPerLayer[firstLayer].size; firstL++){
53  for (int secondL = 0; secondL < fHitsPerLayer[secondLayer].size; secondL++){
54  std::vector<int> singleCombi(4,-1);
55  singleCombi[firstLayer] = firstL;
56  singleCombi[seondLayer] = secondL;
57  result.push_back(singleCombi);
58  }
59  }
60  return result;
61 }
std::vector< std::vector< std::pair< PndSdsHit, bool > > > fHitsPerLayer
Double_t PndMQStraightLineTrackFinder::GetTrackCurvature ( PndMCTrack myTrack)
protected

Definition at line 505 of file PndMQStraightLineTrackFinder.cxx.

References PndMCTrack::GetMomentum(), p, and CAMath::Sqrt().

506 {
507  TVector3 p = myTrack->GetMomentum();
508  return (2/TMath::Sqrt(p.Px()*p.Px() + p.Py()*p.Py()));
509 }
static T Sqrt(const T &x)
Definition: PndCAMath.h:37
TVector3 GetMomentum() const
Definition: PndMCTrack.h:78
Double_t p
Definition: anasim.C:58
Double_t PndMQStraightLineTrackFinder::GetTrackDip ( PndMCTrack myTrack)
protected

Definition at line 512 of file PndMQStraightLineTrackFinder.cxx.

References PndMCTrack::GetMomentum(), p, and CAMath::Sqrt().

513 {
514  TVector3 p= myTrack->GetMomentum();
515  return (p.Mag()/TMath::Sqrt(p.Px()*p.Px() + p.Py()*p.Py()));
516 }
static T Sqrt(const T &x)
Definition: PndCAMath.h:37
TVector3 GetMomentum() const
Definition: PndMCTrack.h:78
Double_t p
Definition: anasim.C:58
void PndMQStraightLineTrackFinder::SetSearchRadius ( Double_t  accu)
inline

Definition at line 38 of file PndMQStraightLineTrackFinder.h.

38 { dXY = accu; };
void PndMQStraightLineTrackFinder::SetVerbose ( Int_t  verbose)
inline

Definition at line 37 of file PndMQStraightLineTrackFinder.h.

References fVerbose, and verbose.

37 { fVerbose = verbose; };
int fVerbose
Definition: poormantracks.C:24
#define verbose
void PndMQStraightLineTrackFinder::SortHitsToLayers ( std::vector< PndSdsHit hits)
protected

Definition at line 40 of file PndMQStraightLineTrackFinder.cxx.

References fHitsPerLayer, fNLayers, and i.

Referenced by FindTracks().

41 {
42  for (int i = 0; i < hits.size(); i++){
43  if (hits[i].GetSensorID() < fNLayers)
44  fHitsPerLayer[hits[i].GetSensorID()].push_back(make_pair(hits[i], false));
45  }
46 }
Int_t i
Definition: run_full.C:25
std::vector< std::vector< std::pair< PndSdsHit, bool > > > fHitsPerLayer
CbmHit * hits[nHits]
Definition: RiemannTest.C:19

Member Data Documentation

Double_t PndMQStraightLineTrackFinder::fdXY
private

Definition at line 53 of file PndMQStraightLineTrackFinder.h.

Referenced by PndMQStraightLineTrackFinder().

std::vector<std::vector<std::pair<PndSdsHit, bool> > > PndMQStraightLineTrackFinder::fHitsPerLayer
private
Int_t PndMQStraightLineTrackFinder::fNLayers
private

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