MpdSftHitProducer.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. // --------------------------------------------------------------------------
  2. // ----- Header for the MpdSftHitProducer ------
  3. // ----- Created by E. Cordier 14/09/05 ------
  4. // ----- Modified by D. Gonzalez-Diaz 07/09/06 ------
  5. // ----- Modified by D. Gonzalez-Diaz 02/02/07 ------
  6. // --------------------------------------------------------------------------
  7. #ifndef MPDSFTHITPRODUCER_H
  8. #define MPDSFTHITPRODUCER_H
  9. #include "FairTask.h"
  10. class TClonesArray;
  11. class TString;
  12. class MpdSftHitProducer : public FairTask {
  13. public:
  14. MpdSftHitProducer();
  15. MpdSftHitProducer(const char *name, Int_t verbose = 1);
  16. virtual ~MpdSftHitProducer();
  17. virtual InitStatus Init();
  18. virtual void Exec(Option_t * option);
  19. virtual void Finish();
  20. void AddHit(Int_t detID, TVector3 &posHit, TVector3 &posHitErr,
  21. Int_t ref, Double_t tHit, Int_t flag);
  22. void SetSigmaT(Double_t sigma);
  23. void SetSigmaXY(Double_t sigma);
  24. void SetSigmaY(Double_t sigma);
  25. void SetSigmaZ(Double_t sigma);
  26. Double_t GetSigmaT();
  27. Double_t GetSigmaXY();
  28. Double_t GetSigmaY();
  29. Double_t GetSigmaZ();
  30. private:
  31. Int_t fVerbose;
  32. TClonesArray *fTofPoints; // TOF MC points
  33. TClonesArray *fMCTracks; // MC tracks
  34. TClonesArray *fHitCollection; // TOFhits
  35. //Temporary substitute of the parameter container. FIXME
  36. Float_t X [10][500][500]; //X-Position in cm */
  37. Float_t Dx[10][500][500]; //Resolution in position in cm */
  38. Float_t Y [10][500][500]; //Y-Position in cm */
  39. Float_t Dy[10][500][500]; //Resolution in position in cm */
  40. TString type[10][500][500]; //Type of cell [pad, strip]
  41. //End of temporary data members
  42. //Members to store the hit during loop over all the points. FIXME
  43. Float_t tl[10][500][500];
  44. Float_t tr[10][500][500];
  45. Int_t trackID_left[10][500][500];
  46. Int_t trackID_right[10][500][500];
  47. Int_t point_left[10][500][500];
  48. Int_t point_right[10][500][500];
  49. //End of storing data members
  50. Double_t fSigmaT; //Resolution in time in ns
  51. Double_t fSigmaXY; //Resolution in x/y in cm
  52. Double_t fSigmaY; //Resolution in y in cm
  53. Double_t fSigmaZ; //Resolution in z in cm
  54. TString fVersion; //
  55. Int_t fNHits; //Index of the MpdEtofHit TClonesArray
  56. ClassDef(MpdSftHitProducer,1) //MPDSFTHitProducer
  57. };
  58. #endif