CbmSttHitProducerIdeal.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. // -------------------------------------------------------------------------
  2. // ----- CbmStsHitProducerIdel header file -----
  3. // ----- Created 10/01/06 by V. Friese -----
  4. // -------------------------------------------------------------------------
  5. /** CbmStsHitProducerIdeal.h
  6. *@author V.Friese <v.friese@gsi.de>
  7. **
  8. ** The ideal hit producer produces hits of type CbmStsMapsHit by copying
  9. ** the MCPoint position. The position error is set to 1 mum, much
  10. ** smaller than can be obtained by any detector. Using the hits from
  11. ** this HitProducer is thus equivalent to using MC information
  12. ** directly, but with the correct data interface.
  13. **/
  14. #ifndef CBMSTTHITPRODUCERIDEAL_H
  15. #define CBMSTTHITPRODUCERIDEAL_H
  16. #include "FairTask.h"
  17. #include "TVector3.h"
  18. #include "TRandom.h"
  19. class TClonesArray;
  20. class CbmSttHitProducerIdeal : public FairTask
  21. {
  22. public:
  23. /** Default constructor **/
  24. CbmSttHitProducerIdeal();
  25. /** Destructor **/
  26. ~CbmSttHitProducerIdeal();
  27. /** Virtual method Init **/
  28. virtual InitStatus Init();
  29. /** Virtual method Exec **/
  30. virtual void Exec(Option_t* opt);
  31. private:
  32. /** Private method GetClostestApproachToWire;
  33. **
  34. ** Returns the measured values of the straw, radius and z position
  35. *@param closestDistanceinPos the radial position of the hit in straw frame
  36. *@param zPosInStrawFrame the z-position of the hit in straw frame
  37. *@param inPos entry point of the track into the straw
  38. *@param outPos exit point of the track into the straw
  39. **/
  40. void GetClostestApproachToWire(Double_t &closestDistance,
  41. Double_t &closestDistanceError,
  42. TVector3 inPos, TVector3 outPos);
  43. void FoldZPosWithResolution(Double_t &zpos, Double_t &zposError,
  44. TVector3 localInPos, TVector3 localOutPos);
  45. Double_t GetRadialResolution(Double_t radius);
  46. Double_t GetLongitudinalResolution(Double_t zpos);
  47. /** Input array of CbmSttPoints **/
  48. TClonesArray* fPointArray;
  49. /** Output array of CbmSttHits **/
  50. TClonesArray* fHitArray;
  51. /** Output array of CbmSttHitInfo **/
  52. TClonesArray* fHitInfoArray;
  53. ClassDef(CbmSttHitProducerIdeal,1);
  54. };
  55. #endif