FairRoot/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"
10  Short_t* Charge;
13  Short_t *FiConformalIndex;
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];
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;
46  void * posizSciT;
50  Short_t *RConformalIndex;
57  bool* TypeConf;
60  bool YesSciTil;
61  };
62 
63 
64 class PndTrkCTFindTrackInXY : public TObject
65 {
66 
67 
68  public:
69 
72 
73 
76 
77 
78 
79 
80 //----------------
81 
83  Double_t distance,
84  Double_t DriftConfR, //drift radius in conformal space
85  Double_t StrawConfR // straw radius in conformal space
86  );
87 
88 
89 
90  Short_t AssociateSciTilHit(
91  Double_t dimensionscitil,
92  Double_t *esse, // output, list of S of the SciTil hits associated.
93  bool* InclusionListSciTil,
94  Short_t *List, // output, list of SciTil hits associated (max. 2);
95  Short_t maxscitilhitsintrack,
96  Short_t nSciTilHits,
97  Double_t Oxx,
98  Double_t Oyy,
99  Double_t posizSciTil[][3],
100  Double_t Rr
101  );
102 
103 
104 
105  void FindCharge(
106  Double_t oX,
107  Double_t oY,
108  Short_t nHits,
109  Double_t *X,
110  Double_t *Y,
111  Short_t * Charge
112  );
113 
114 
115 
117  struct FindTrackInXYProjection_InputData* inputdata
118  );
119 
120 
122  Short_t *FiConformalIndex,
123  Short_t* HitsinBoxConformal,
124  Short_t ihit, // seed hit;
125  bool *InclusionListStt,
126  Double_t info[][7],
127  Short_t* ListHitsinTrack,
128  Short_t* ListSttParHits,
129  Short_t maxstthitsintracks,
130  Short_t maxstthits,
131  Short_t minimumhitspertrack,
132  Short_t* nBoxConformal,
133  Short_t nfidivconformal,
134  Short_t nFicell, // Fi cell of the seed hit;
135  Short_t NFiCELLDISTANCE,
136  Short_t Nparal,
137  Short_t nRcell, // R cell of the seed hit;
138  // can be negative beacuse of SciTil hits;
139  Short_t NRCELLDISTANCE,
140  Short_t *RConformalIndex,
141  Short_t nrdivconformal
142  );
143 
145  Short_t *FiConformalIndex,
146  Short_t* HitsinBoxConformal,
147  bool *InclusionListStt,
148  Double_t info[][7],
149  Short_t iSeed,
150  Short_t *ListHitsinTrackinWhichToSearch,
151  Short_t* ListSttParHits,
152  Short_t maxstthits,
153  Short_t minimumhitspertrack,
154  Short_t* nBoxConformal,
155  Short_t NFiCELLDISTANCE,
156  Short_t nfidivconformal,
157  Short_t Nparal,
158  Short_t NparallelToSearch,
159  Short_t NRCELLDISTANCE,
160  Short_t nrdivconformal,
161  Short_t *OutputListHitsinTrack,
162  Short_t *RConformalIndex
163 
164  );
165 
166 
167 
169  Short_t *FiConformalIndex,
170  bool *InclusionListStt,
171  // seed track (original notation) as far as the Fi angle is concerned
172  Short_t iSeed,
173  Short_t *ListHitsinTrackinWhichToSearch,
174  Short_t MAXSTTHITS,
175  Short_t NFiCELLDISTANCE,
176  Short_t nfidivconformal,
177  // n. of hits to search in ListHitsinTrackinWhichToSearch
178  Short_t NParallelToSearch,
179  Short_t *OutputListHitsinTrack
180  );
181 
182 
183  void OrderingParallel(
184  Short_t Charge,
185  Double_t *Fi_initial_helix_referenceframe,
186  Double_t *Fi_final_helix_referenceframe,
187  Double_t info[][7],
188  Short_t *ListParallelHits,
189  Short_t nParallelHits,
190  Double_t oX,
191  Double_t oY,
192  Double_t *U,
193  Double_t *V
194  );
195 
197  Short_t *auxListHitsinTrack,
198  Double_t deltanr,
199  Short_t *FiConformalIndex,
200  Short_t* HitsinBoxConformal,
201  bool* InclusionListStt,
202  Double_t info[][7],
203  Double_t infoparalConformal[][5],
204  Short_t *ListHitsinTrack,
205  Double_t m,
206  Short_t MAXSTTHITS,
207  Short_t* nBoxConformal,
208  Short_t nfidivconformal,
209  Short_t nHitsinTrack,
210  Int_t NhitsParallel,
211  Short_t nrdivconformal,
212  Double_t Oxx,
213  Double_t Oyy,
214  Double_t q,
215  Double_t* radiaConf,
216  Short_t *RConformalIndex,
217  Double_t Rr,
218  Double_t rstrawdetectormin,
219  Short_t Status,
220  Double_t strawradius
221  );
222 
223 
224 
226  Short_t *auxListHitsinTrack,
227  bool *InclusionListStt,
228  Double_t Fi_low,
229  Double_t Fi_up,
230  Double_t info[][7],
231  Short_t *ListSttParHits,
232  Int_t NhitsParallel,
233  Double_t Oxx,
234  Double_t Oyy,
235  Double_t Rr,
236  Double_t strawradius
237  );
238 
240 
241 };
242 
243 #endif
bool FindTrackInXYProjection(struct FindTrackInXYProjection_InputData *inputdata)
__m128 m
Definition: P4_F32vec4.h:28
bool AcceptHitsConformal(Double_t distance, Double_t DriftConfR, Double_t StrawConfR)
Short_t FindTrackStrictCollection(Short_t *FiConformalIndex, bool *InclusionListStt, Short_t iSeed, Short_t *ListHitsinTrackinWhichToSearch, Short_t MAXSTTHITS, Short_t NFiCELLDISTANCE, Short_t nfidivconformal, Short_t NParallelToSearch, Short_t *OutputListHitsinTrack)
void OrderingParallel(Short_t Charge, Double_t *Fi_initial_helix_referenceframe, Double_t *Fi_final_helix_referenceframe, Double_t info[][7], Short_t *ListParallelHits, Short_t nParallelHits, Double_t oX, Double_t oY, Double_t *U, Double_t *V)
Short_t TrkAssociatedParallelHitsToHelixQuater(Short_t *auxListHitsinTrack, Double_t deltanr, Short_t *FiConformalIndex, Short_t *HitsinBoxConformal, bool *InclusionListStt, Double_t info[][7], Double_t infoparalConformal[][5], Short_t *ListHitsinTrack, Double_t m, Short_t MAXSTTHITS, Short_t *nBoxConformal, Short_t nfidivconformal, Short_t nHitsinTrack, Int_t NhitsParallel, Short_t nrdivconformal, Double_t Oxx, Double_t Oyy, Double_t q, Double_t *radiaConf, Short_t *RConformalIndex, Double_t Rr, Double_t rstrawdetectormin, Short_t Status, Double_t strawradius)
double Y
Definition: anaLmdDigi.C:68
ClassDef(PndTrkCTFindTrackInXY, 1)
Short_t TrkAssociatedParallelHitsToHelix5(Short_t *auxListHitsinTrack, bool *InclusionListStt, Double_t Fi_low, Double_t Fi_up, Double_t info[][7], Short_t *ListSttParHits, Int_t NhitsParallel, Double_t Oxx, Double_t Oyy, Double_t Rr, Double_t strawradius)
int nHits
Definition: RiemannTest.C:16
Double_t
Short_t FindTrackPatterninBoxConformalSpecial(Short_t *FiConformalIndex, Short_t *HitsinBoxConformal, bool *InclusionListStt, Double_t info[][7], Short_t iSeed, Short_t *ListHitsinTrackinWhichToSearch, Short_t *ListSttParHits, Short_t maxstthits, Short_t minimumhitspertrack, Short_t *nBoxConformal, Short_t NFiCELLDISTANCE, Short_t nfidivconformal, Short_t Nparal, Short_t NparallelToSearch, Short_t NRCELLDISTANCE, Short_t nrdivconformal, Short_t *OutputListHitsinTrack, Short_t *RConformalIndex)
Short_t FindTrackPatterninBoxConformal(Short_t *FiConformalIndex, Short_t *HitsinBoxConformal, Short_t ihit, bool *InclusionListStt, Double_t info[][7], Short_t *ListHitsinTrack, Short_t *ListSttParHits, Short_t maxstthitsintracks, Short_t maxstthits, Short_t minimumhitspertrack, Short_t *nBoxConformal, Short_t nfidivconformal, Short_t nFicell, Short_t NFiCELLDISTANCE, Short_t Nparal, Short_t nRcell, Short_t NRCELLDISTANCE, Short_t *RConformalIndex, Short_t nrdivconformal)
Short_t AssociateSciTilHit(Double_t dimensionscitil, Double_t *esse, bool *InclusionListSciTil, Short_t *List, Short_t maxscitilhitsintrack, Short_t nSciTilHits, Double_t Oxx, Double_t Oyy, Double_t posizSciTil[][3], Double_t Rr)
double X
Definition: anaLmdDigi.C:68
void FindCharge(Double_t oX, Double_t oY, Short_t nHits, Double_t *X, Double_t *Y, Short_t *Charge)