18#include <RtypesCore.h>
std::vector< Int_t > GetDirectNeighbourPixels(Int_t address, Bool_t horizontal=true, Bool_t vertical=true)
Return the addresses of the direct neighbour pixels.
Int_t CreateAddressRich(const std::string &nodePath, Int_t &channelAddr, Int_t &pmtId)
Create channel address & pmt Id from node path for RICH.
CbmRichGeoHandler(const CbmRichGeoHandler &)=delete
Int_t GetRandomPixelAddress()
CbmRichGeoHandler & operator=(const CbmRichGeoHandler &)=delete
std::vector< Int_t > fPmtIds
std::vector< Int_t > GetDiagonalNeighbourPixels(Int_t address)
Return the addresses of the diagonal neighbour pixels.
CbmRichGeoSetup GetDetectorSetup(const TString &nodePath)
Identify detector setup (RICH or mRICH) by node path.
CbmRichPmtData * GetPmtDataById(Int_t id)
Int_t CreateAddressMiniRich(const std::string &nodePath, Int_t &channelAddr, Int_t &pmtId)
Create channel address & pmt Id from node path for mRICH.
std::vector< Int_t > GetNeighbourPixels(Int_t address, Int_t N, Bool_t horizontal=true, Bool_t vertical=true, Bool_t diagonal=true)
Return the addresses of the neighbour pixels.
std::vector< Int_t > GetNxNNeighbourPixels(Int_t address, Int_t n)
Return the addresses of pixels in a (2n+1)*(2n+1) grid, with the address pixel in the center of the g...
std::vector< Int_t > GetPixelAddresses()
Int_t GetPixelAddressByPath(const std::string &path)
static CbmRichGeoHandler & GetInstance()
void Init()
Initialize maps.
CbmRichPixelData * GetPixelDataByAddress(Int_t address)
std::vector< Int_t > GetPmtIds()
std::vector< Int_t > fPixelAddresses
std::map< Int_t, std::unique_ptr< CbmRichPmtData > > fPmtIdToData
std::map< std::string, Int_t > fPmtPathToId
std::map< std::string, Int_t > fPixelPathToAddress
virtual ~CbmRichGeoHandler()=default
std::map< Int_t, std::unique_ptr< CbmRichPixelData > > fPixelAddressToData