MpdEmcHitProducer.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // -------------------------------------------------------------------------
  2. // ----- MpdEmcHitproducer header file -----
  3. // -------------------------------------------------------------------------
  4. #ifndef MPDEMCHITPRODUCER_H
  5. #define MPDEMCHITPRODUCER_H 1
  6. #include <iostream>
  7. #include "FairTask.h"
  8. #include "MpdEmcHit.h"
  9. #include "MpdEmcGeoPar.h"
  10. class TClonesArray;
  11. class MpdEmcHitProducer : public FairTask {
  12. public:
  13. /** Default constructor **/
  14. MpdEmcHitProducer();
  15. /** Destructor **/
  16. ~MpdEmcHitProducer();
  17. /** Virtual method Init **/
  18. virtual InitStatus Init();
  19. /** Virtual method Exec **/
  20. virtual void Exec(Option_t* opt);
  21. void virtual Finish();
  22. private:
  23. /** Input array of MpdEmcPoints **/
  24. TClonesArray* fPointArray;
  25. /** Input array of MCTracks **/
  26. TClonesArray* fMcTrackArray;
  27. /** Output array of MpdEmcHit **/
  28. TClonesArray* fDigiArray;
  29. UInt_t GetSecId(Float_t x, Float_t y, Float_t z);
  30. UInt_t GetRowId(Float_t z);
  31. UInt_t GetSupModId(Float_t x, Float_t y, Float_t z, UInt_t sec);
  32. UInt_t GetModId(Float_t x, Float_t y, UInt_t supMod, UInt_t sec);
  33. Float_t CalcZCenter(UInt_t sec, UInt_t row, UInt_t mod);
  34. Float_t CalcPhiCenter(UInt_t sec, UInt_t supMod, UInt_t mod);
  35. MpdEmcHit* SearchHit(UInt_t sec, UInt_t supMod, UInt_t row, UInt_t mod);
  36. MpdEmcGeoPar* fGeoPar;
  37. ClassDef(MpdEmcHitProducer, 2);
  38. };
  39. #endif