CbmSttTrackFinderIdeal.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. // -------------------------------------------------------------------------
  2. // ----- CbmSttTrackFinderIdeal header file -----
  3. // ----- Created 28/03/06 by R. Castelijns -----
  4. // -------------------------------------------------------------------------
  5. /** CbmSttTrackFinderIdeal
  6. *@author R.Castelijns <r.castelijns@fz-juelich.de>
  7. **
  8. ** Ideal track finder in the STT for simulated data.
  9. ** For each MCTrack having at least 3 SttPoints, a SttTrack is created
  10. ** and the corresponding SttHits are attached using the correspondence
  11. ** between SttHit and SttPoint.
  12. **/
  13. #ifndef CBMSTTTRACKFINDERIDEAL
  14. #define CBMSTTTRACKFINDERIDEAL 1
  15. #include "CbmSttTrackFinder.h"
  16. #include "FairMCTrack.h"
  17. class TClonesArray;
  18. class CbmSttTrackFinderIdeal : public CbmSttTrackFinder
  19. {
  20. public:
  21. void GetTrackletCircular(Double_t firstX, Double_t firstY, Double_t firstR,
  22. Double_t secondX, Double_t secondY, Double_t secondR,
  23. Double_t thirdX, Double_t thirdY, Double_t thirdR,
  24. Double_t *circleRadii, Double_t *circleCentersX,
  25. Double_t *circleCentersY) const;
  26. //void ZoomTrack(Double_t &dSeed, Double_t &phiSeed, Double_t &rSeed, CbmSttTrack *track);
  27. void GetTrack(Double_t &dSeed, Double_t &phiSeed, Double_t &rSeed, Int_t mcTrackNo);
  28. /** Default constructor **/
  29. CbmSttTrackFinderIdeal();
  30. /** Standard constructor **/
  31. CbmSttTrackFinderIdeal(Int_t verbose);
  32. /** Destructor **/
  33. virtual ~CbmSttTrackFinderIdeal();
  34. /** Initialisation **/
  35. virtual void Init();
  36. /** Track finding algorithm
  37. ** This just reads MC truth (MCTracks and MCPoints), creates
  38. ** one StsTrack for each MCTrack and attaches the hits according
  39. ** to the MCTrack of the corresponding MCPoint
  40. **
  41. *@param mHitArray Array of MAPS hits
  42. *@param trackArray Array of CbmStsTrack
  43. **
  44. *@value Number of tracks created
  45. **/
  46. virtual Int_t DoFind(TClonesArray* mHitArray);
  47. virtual void AddHitCollection(TClonesArray* mHitArray, TClonesArray* mPointArray) {fHitCollectionList.Add(mHitArray); fPointCollectionList.Add(mPointArray);}
  48. void plotAllStraws();
  49. Bool_t putStraw(Double_t xpos, Double_t ypos, Double_t radius);
  50. private:
  51. /** Arrays of MC information **/
  52. TClonesArray* fMCTrackArray;
  53. Bool_t rootoutput;
  54. /** Verbosity level **/
  55. Int_t fVerbose;
  56. TList fHitCollectionList;
  57. TList fPointCollectionList;
  58. CbmSttHit* GetHitFromCollections(Int_t hitCounter);
  59. FairMCPoint* GetPointFromCollections(Int_t hitCounter);
  60. ClassDef(CbmSttTrackFinderIdeal,1);
  61. };
  62. #endif