PandaRoot
PndTrkCTFindTrackInXY.h
Go to the documentation of this file.
1 #ifndef PndTrkCTFindTrackInXY_H
2 #define PndTrkCTFindTrackInXY_H 1
3 
4 // Root includes
5 #include "TROOT.h"
7  Double_t *ALFA;
9  Double_t *BETA;
10  Short_t *Charge;
11  Double_t deltanr;
12  Double_t dimensionscitil;
13  Short_t *FiConformalIndex;
16  Double_t *Fi_low_limit;
17  Double_t *Fi_up_limit;
18  Double_t *GAMMA;
19  Short_t *HitsinBoxConf;
20  int icounter; // counter useful for debugging;
21  Short_t iHit; // seed hit; it is negative for SciTil Hits.
24  Double_t (*info)[7];
25  Double_t (*infoparalConformal)[5];
26  Short_t *ListHitsinTrack;
28  Short_t *ListSttParHits;
29  Short_t maxhitsinfit;
31  Short_t maxstthits;
35  Short_t *nBoxConf;
36  Short_t nFicell; // Fi cell of the seed hit;
37  Short_t nfidivconformal;
38  Short_t *nHitsinTrack;
39  Short_t nRcell; // R cell of the seed hit;
40  Short_t nrdivconformal;
41  Short_t nSciTilHits;
43  Int_t nsttparhit;
44  Double_t *Oxx;
45  Double_t *Oyy;
46  void *posizSciT;
47  Double_t posizSciTilx;
48  Double_t posizSciTily;
49  Double_t *radiaConf;
50  Short_t *RConformalIndex;
51  Double_t *Rr;
54  Double_t strawradius;
56  Double_t *trajectory_vertex;
57  bool *TypeConf;
58  Double_t *U;
59  Double_t *V;
60  bool YesSciTil;
61 };
62 
63 class PndTrkCTFindTrackInXY : public TObject {
64 
65  public:
68 
71 
72  //----------------
73 
74  bool AcceptHitsConformal(Double_t distance,
75  Double_t DriftConfR, // drift radius in conformal space
76  Double_t StrawConfR // straw radius in conformal space
77  );
78 
79  Short_t AssociateSciTilHit(Double_t dimensionscitil,
80  Double_t *esse, // output, list of S of the SciTil hits associated.
81  bool *InclusionListSciTil,
82  Short_t *List, // output, list of SciTil hits associated (max. 2);
83  Short_t maxscitilhitsintrack, Short_t nSciTilHits, Double_t Oxx, Double_t Oyy, Double_t posizSciTil[][3], Double_t Rr);
84 
85  void FindCharge(Double_t oX, Double_t oY, Short_t nHits, Double_t *X, Double_t *Y, Short_t *Charge);
86 
87  bool FindTrackInXYProjection(struct FindTrackInXYProjection_InputData *inputdata);
88 
89  Short_t FindTrackPatterninBoxConformal(Short_t *FiConformalIndex, Short_t *HitsinBoxConformal,
90  Short_t ihit, // seed hit;
91  bool *InclusionListStt, Double_t info[][7], Short_t *ListHitsinTrack, Short_t *ListSttParHits, Short_t maxstthitsintracks,
92  Short_t maxstthits, Short_t minimumhitspertrack, Short_t *nBoxConformal, Short_t nfidivconformal,
93  Short_t nFicell, // Fi cell of the seed hit;
94  Short_t NFiCELLDISTANCE, Short_t Nparal,
95  Short_t nRcell, // R cell of the seed hit;
96  // can be negative beacuse of SciTil hits;
97  Short_t NRCELLDISTANCE, Short_t *RConformalIndex, Short_t nrdivconformal);
98 
99  Short_t FindTrackPatterninBoxConformalSpecial(Short_t *FiConformalIndex, Short_t *HitsinBoxConformal, bool *InclusionListStt, Double_t info[][7], Short_t iSeed,
100  Short_t *ListHitsinTrackinWhichToSearch, Short_t *ListSttParHits, Short_t maxstthits, Short_t minimumhitspertrack,
101  Short_t *nBoxConformal, Short_t NFiCELLDISTANCE, Short_t nfidivconformal, Short_t Nparal, Short_t NparallelToSearch,
102  Short_t NRCELLDISTANCE, Short_t nrdivconformal, Short_t *OutputListHitsinTrack, Short_t *RConformalIndex
103 
104  );
105 
106  Short_t FindTrackStrictCollection(Short_t *FiConformalIndex, bool *InclusionListStt,
107  // seed track (original notation) as far as the Fi angle is concerned
108  Short_t iSeed, Short_t *ListHitsinTrackinWhichToSearch, Short_t MAXSTTHITS, Short_t NFiCELLDISTANCE, Short_t nfidivconformal,
109  // n. of hits to search in ListHitsinTrackinWhichToSearch
110  Short_t NParallelToSearch, Short_t *OutputListHitsinTrack);
111 
112  void OrderingParallel(Short_t Charge, Double_t *Fi_initial_helix_referenceframe, Double_t *Fi_final_helix_referenceframe, Double_t info[][7], Short_t *ListParallelHits,
113  Short_t nParallelHits, Double_t oX, Double_t oY, Double_t *U, Double_t *V);
114 
115  Short_t TrkAssociatedParallelHitsToHelixQuater(Short_t *auxListHitsinTrack, Double_t deltanr, Short_t *FiConformalIndex, Short_t *HitsinBoxConformal, bool *InclusionListStt,
116  Double_t info[][7], Double_t infoparalConformal[][5], Short_t *ListHitsinTrack, Double_t m, Short_t MAXSTTHITS,
117  Short_t *nBoxConformal, Short_t nfidivconformal, Short_t nHitsinTrack, Int_t NhitsParallel, Short_t nrdivconformal, Double_t Oxx,
118  Double_t Oyy, Double_t q, Double_t *radiaConf, Short_t *RConformalIndex, Double_t Rr, Double_t rstrawdetectormin, Short_t Status,
119  Double_t strawradius);
120 
121  Short_t TrkAssociatedParallelHitsToHelix5(Short_t *auxListHitsinTrack, bool *InclusionListStt, Double_t Fi_low, Double_t Fi_up, Double_t info[][7], Short_t *ListSttParHits,
122  Int_t NhitsParallel, Double_t Oxx, Double_t Oyy, Double_t Rr, Double_t strawradius);
123 
124  ClassDef(PndTrkCTFindTrackInXY, 1);
125 };
126 
127 #endif
__m128 m
Definition: P4_F32vec4.h:26