MpdFsaHitProducer.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. // -------------------------------------------------------------------------
  2. // ----- MpdFsaHitproducer header file -----
  3. // -------------------------------------------------------------------------
  4. #ifndef CBMHYPHITPRODUCER_H
  5. #define CBMHYPHITPRODUCER_H 1
  6. #include <map>
  7. #include <iostream>
  8. #include "FairTask.h"
  9. #include "TH1F.h"
  10. #include "TH2F.h"
  11. #include "TList.h"
  12. #include "TFile.h"
  13. #include "MpdFsaHit.h"
  14. #include "TVector3.h"
  15. class TClonesArray;
  16. class TObjectArray;
  17. class MpdFsaHitProducer : public FairTask
  18. {
  19. public:
  20. /** Default constructor **/
  21. MpdFsaHitProducer(const char* fileGeo);
  22. /** Destructor **/
  23. ~MpdFsaHitProducer();
  24. /** Virtual method Init **/
  25. virtual InitStatus Init();
  26. /** Virtual method Exec **/
  27. virtual void Exec(Option_t* opt);
  28. MpdFsaHit* AddHit(Int_t trackID, Int_t detID, Float_t energy);
  29. void CreateStructure();
  30. void virtual FinishTask();
  31. void virtual Finish();
  32. void MakeHists();
  33. private:
  34. /** Input array of MpdFsaPoints **/
  35. TClonesArray* fPointArray;
  36. /** Output array of MpdFsaHit **/
  37. TClonesArray* fDigiArray;
  38. TObjArray *fVolumeArray;
  39. /** Geo file to use **/
  40. TString fFileGeo;
  41. Float_t eneThr;
  42. //_____ Histograms_____________
  43. TList *hlist;
  44. TH1F *fZ;
  45. // TH1F *fR;
  46. //
  47. // TH1F *fLoadXL1;
  48. // TH1F *fLoadXL2;
  49. // TH1F *fLoadXL3;
  50. // TH1F *fLoadXL4;
  51. // TH1F *fLoadXL5;
  52. //
  53. // TH1F *fLoadYL1;
  54. // TH1F *fLoadYL2;
  55. // TH1F *fLoadYL3;
  56. // TH1F *fLoadYL4;
  57. // TH1F *fLoadYL5;
  58. //
  59. // TH1F *fTime;
  60. //
  61. // TH2F *fXY;
  62. // TH2F *fRphi;
  63. //
  64. // TH2F *fLoadXYL1;
  65. /////////////////////////
  66. TH1F *fLoadX1;
  67. TH1F *fLoadX1u;
  68. TH1F *fLoadX1d;
  69. TH1F *fLoadY1;
  70. TH1F *fLoadY1u;
  71. TH1F *fLoadY1d;
  72. TH1F *fLoadX2;
  73. TH1F *fLoadX2u;
  74. TH1F *fLoadX2d;
  75. TH1F *fLoadY2;
  76. TH1F *fLoadY2u;
  77. TH1F *fLoadY2d;
  78. TH1F *fLoadX3;
  79. TH1F *fLoadX3u;
  80. TH1F *fLoadX3d;
  81. TH1F *fLoadY3;
  82. TH1F *fLoadY3u;
  83. TH1F *fLoadY3d;
  84. TH1F *fLoadX4;
  85. TH1F *fLoadX4u;
  86. TH1F *fLoadX4d;
  87. TH1F *fLoadY4;
  88. TH1F *fLoadY4u;
  89. TH1F *fLoadY4d;
  90. TH1F *fLoadX5;
  91. TH1F *fLoadX5u;
  92. TH1F *fLoadX5d;
  93. TH1F *fLoadY5;
  94. TH1F *fLoadY5u;
  95. TH1F *fLoadY5d;
  96. TH2F *fLoadXY1;
  97. TH2F *fRealXY1;
  98. Bool_t *xt;
  99. Bool_t *yt;
  100. typedef std::map<Int_t, Float_t> mapper;
  101. mapper emcX, emcY, emcZ, emcTheta, emcPhi, emcTau;
  102. /* map<Int_t, Float_t> emcX; */
  103. /* map<Int_t, Float_t> emcY; */
  104. /* map<Int_t, Float_t> emcZ; */
  105. /* map<Int_t, Float_t> emcTheta; */
  106. /* map<Int_t, Float_t> emcPhi; */
  107. /* map<Int_t, Float_t> emcTau; */
  108. ClassDef(MpdFsaHitProducer,1);
  109. };
  110. #endif