MpdZdcDigiProducer.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. // -------------------------------------------------------------------------
  2. // ----- MpdZdcHitproducer header file -----
  3. // ----- Created 14/08/06 by S.Spataro -----
  4. // ----- Modified March 2021 by A.Strijak -----
  5. // -------------------------------------------------------------------------
  6. #ifndef MPDZDCDIGIPRODUCER_H
  7. #define MPDZDCDIGIPRODUCER_H 1
  8. #include <map>
  9. #include "FairTask.h"
  10. #include "TClonesArray.h"
  11. #include "MpdZdcDigi.h"
  12. #include "MpdZdcGeoPar.h"
  13. #include "MpdZdcDigiScheme.h"
  14. #include "TParameter.h"
  15. #include "TH2F.h"
  16. #include "TRandom3.h"
  17. class MpdZdcDigiProducer : public FairTask
  18. {
  19. public:
  20. /** Default constructor **/
  21. MpdZdcDigiProducer(const char* name="MpdZdc Digi Producer");
  22. /** Destructor **/
  23. ~MpdZdcDigiProducer();
  24. /** Virtual method Init **/
  25. virtual InitStatus Init();
  26. /** Virtual method Exec **/
  27. virtual void Exec(Option_t* opt);
  28. MpdZdcDigi* AddHit(Int_t detID, Int_t modID, Int_t chanID,Float_t energy);
  29. inline void SetPix2Mip (Double_t setValue) { fPix2Mip = setValue; }
  30. inline void SetMIPEnergy (Double_t setValue) { fMIPEnergy = setValue; }
  31. inline void SetMIPNoise (Double_t setValue) { fMIPNoise = setValue; }
  32. inline void SetMIP2GeV (Double_t setValue) { fMIP2GeV = setValue; }
  33. private:
  34. virtual void SetParContainers();
  35. private:
  36. TRandom3* fRandom3;
  37. Double_t fPix2Mip; // MPPC pixels per MIP
  38. Double_t fMIPEnergy; // MIP energy (5 MeV)
  39. Double_t fMIPNoise; // MIP noise level
  40. Double_t fMIP2GeV; // MIP to GeV
  41. Double_t RecoEnergy (Double_t pfELoss);
  42. /** Input array of MpdZdcPoints **/
  43. TClonesArray* fPointArray;
  44. /** Output array of MpdZdcDigi **/
  45. TClonesArray* fDigiArray;
  46. // TClonesArray* fELossZdc1Value;
  47. // TClonesArray* fELossZdc2Value;
  48. /** Input geometry parameters container**/
  49. MpdZdcGeoPar* fGeoPar;
  50. /** Output Histograms of X-Y energy map **/
  51. // TH2F *fHistZdc1En;
  52. // TH2F *fHistZdc2En;
  53. ClassDef(MpdZdcDigiProducer,2);
  54. };
  55. #endif