MpdEtofGeoUtils.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. //------------------------------------------------------------------------------------------------------------------------
  2. #ifndef __MPD_ETOF_GEO_UTILS_H
  3. #define __MPD_ETOF_GEO_UTILS_H 1
  4. #include <TVector3.h>
  5. #include <TList.h>
  6. #include "IntervalTree.h"
  7. #include "MpdTofGeoUtils.h"
  8. //------------------------------------------------------------------------------------------------------------------------
  9. class TH1D;
  10. class TH2D;
  11. class MpdEtofGeoUtils
  12. {
  13. TmStrips mStrips; //! indexing strips by detectorUID
  14. TintervalTree mDetectorsR[2]; //! detectors R[cm] location interval tree, two sides
  15. TintervalTree mDetectorsPhi[2]; //! detectors Phi[rads] location interval tree, two sides
  16. MpdEtofGeoUtils();
  17. static MpdEtofGeoUtils *instance;
  18. public:
  19. static MpdEtofGeoUtils* Instance(){ if(instance == nullptr) instance = new MpdEtofGeoUtils; return instance;}
  20. void FindNeighborStrips(Double_t thresh, bool forced = false); // thresh, [cm] <--- thresh. distance between neighbor strips
  21. void ParseTGeoManager(bool forced = false);
  22. const LStrip* FindStrip(Int_t UID);
  23. const TintervalTree* GetDetR() { return mDetectorsR; };
  24. const TintervalTree* GetDetPhi() { return mDetectorsPhi; };
  25. };
  26. //------------------------------------------------------------------------------------------------------------------------
  27. #endif