|
CbmRoot
|
#include <CbmRichGeoHandler.h>
Public Member Functions | |
| virtual | ~CbmRichGeoHandler ()=default |
| CbmRichGeoHandler (const CbmRichGeoHandler &)=delete | |
| CbmRichGeoHandler & | operator= (const CbmRichGeoHandler &)=delete |
| std::vector< Int_t > | GetPixelAddresses () |
| Int_t | GetPixelAddressByPath (const std::string &path) |
| CbmRichPixelData * | GetPixelDataByAddress (Int_t address) |
| Int_t | GetRandomPixelAddress () |
| std::vector< Int_t > | GetPmtIds () |
| CbmRichPmtData * | GetPmtDataById (Int_t id) |
| 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 > | GetDirectNeighbourPixels (Int_t address, Bool_t horizontal=true, Bool_t vertical=true) |
| Return the addresses of the direct neighbour pixels. | |
| std::vector< Int_t > | GetDiagonalNeighbourPixels (Int_t address) |
| Return the addresses of the diagonal 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 grid. Addresses are limited to the same MAPMT as the input address. Needed for noise digis caused by charged particles. | |
Static Public Member Functions | |
| static CbmRichGeoHandler & | GetInstance () |
Private Types | |
| enum class | CbmRichGeoSetup { Rich , MiniRich } |
Private Member Functions | |
| CbmRichGeoHandler () | |
| void | Init () |
| Initialize maps. | |
| CbmRichGeoSetup | GetDetectorSetup (const TString &nodePath) |
| Identify detector setup (RICH or mRICH) by node path. | |
| Int_t | CreateAddressRich (const std::string &nodePath, Int_t &channelAddr, Int_t &pmtId) |
| Create channel address & pmt Id from node path for RICH. | |
| Int_t | CreateAddressMiniRich (const std::string &nodePath, Int_t &channelAddr, Int_t &pmtId) |
| Create channel address & pmt Id from node path for mRICH. | |
Private Attributes | |
| bool | fFallback {false} |
| std::map< std::string, Int_t > | fPixelPathToAddress {} |
| std::map< Int_t, std::unique_ptr< CbmRichPixelData > > | fPixelAddressToData {} |
| std::vector< Int_t > | fPixelAddresses {} |
| std::map< std::string, Int_t > | fPmtPathToId {} |
| std::map< Int_t, std::unique_ptr< CbmRichPmtData > > | fPmtIdToData {} |
| std::vector< Int_t > | fPmtIds {} |
Definition at line 25 of file CbmRichGeoHandler.h.
|
strongprivate |
| Enumerator | |
|---|---|
| Rich | |
| MiniRich | |
Definition at line 26 of file CbmRichGeoHandler.h.
|
inlineprivate |
Constructor
Definition at line 34 of file CbmRichGeoHandler.h.
References Init().
Referenced by CbmRichGeoHandler(), GetInstance(), and operator=().
|
virtualdefault |
Destructor
|
delete |
Copy constructor (disabled)
References CbmRichGeoHandler().
|
private |
Create channel address & pmt Id from node path for mRICH.
| nodePath | Node path |
Definition at line 309 of file CbmRichGeoHandler.cxx.
Referenced by Init().
|
private |
Create channel address & pmt Id from node path for RICH.
| nodePath | Node path |
Definition at line 269 of file CbmRichGeoHandler.cxx.
References CbmRichAddress::GetAddress(), and CbmRichAddress::GetMotherAddress().
Referenced by Init().
|
inlineprivate |
Identify detector setup (RICH or mRICH) by node path.
Definition at line 133 of file CbmRichGeoHandler.h.
References MiniRich, and Rich.
Referenced by Init().
Return the addresses of the diagonal neighbour pixels.
| address | Pixel address |
Definition at line 95 of file CbmRichGeoHandler.h.
References GetNeighbourPixels().
Referenced by CbmRichDigitizer::AddCrossTalk().
|
inline |
Return the addresses of the direct neighbour pixels.
| address | Pixel address |
Definition at line 86 of file CbmRichGeoHandler.h.
References GetNeighbourPixels().
Referenced by CbmRichDigitizer::AddCrossTalk().
|
inlinestatic |
Return singleton instance
Definition at line 47 of file CbmRichGeoHandler.h.
References CbmRichGeoHandler().
Referenced by CbmRichDigitizer::AddChargedParticleCluster(), CbmRichDigitizer::AddCrossTalk(), CbmRichDigitizer::AddDarkRateNoise(), CbmRichDigitizer::AddEventNoise(), CbmRichGeoTest::DrawPmtPoint(), CbmRichGeoTest::DrawPmts(), CbmRichDigiQa::Exec(), CbmLitFieldQa::FillRichPmtPlaneBHistos(), CbmRichUtil::GetPmtHistBins(), CbmRichDigiQa::Init(), CbmRichDigitizer::Init(), CbmRichHitProducer::Init(), CbmRich::Initialize(), CbmRichUrqmdTest::NofHitsAndPoints(), CbmRichHitProducer::ProcessDigi(), CbmRichMCbmHitProducer::ProcessDigi(), and CbmRich::ProcessHits().
| std::vector< Int_t > CbmRichGeoHandler::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.
| address | Pixel address |
| n | Size of the grid (2n+1)*(2n+1) |
| horizontal | return horizontal neighbours |
| vertical | return vertical neighbours |
| diagonal | return diagonal neighbours |
Definition at line 231 of file CbmRichGeoHandler.cxx.
References CbmRichPmtData::fPixelAddresses, CbmRichPixelData::fPixelId, CbmRichPixelData::fPmtId, GetPixelDataByAddress(), and GetPmtDataById().
Referenced by GetDiagonalNeighbourPixels(), GetDirectNeighbourPixels(), and GetNxNNeighbourPixels().
Return the addresses of pixels in a (2n+1)*(2n+1) grid, with the address pixel in the center of the grid. Addresses are limited to the same MAPMT as the input address. Needed for noise digis caused by charged particles.
| address | Pixel address |
| n | Size of the grid (2n+1)*(2n+1) |
Definition at line 108 of file CbmRichGeoHandler.h.
References GetNeighbourPixels().
Referenced by CbmRichDigitizer::AddChargedParticleCluster().
| Int_t CbmRichGeoHandler::GetPixelAddressByPath | ( | const std::string & | path | ) |
Return pixel address by node path
Definition at line 210 of file CbmRichGeoHandler.cxx.
References fPixelPathToAddress.
Referenced by CbmRich::ProcessHits().
|
inline |
Return addresses of all pixels
Definition at line 54 of file CbmRichGeoHandler.h.
References fPixelAddresses.
Referenced by CbmRichDigitizer::AddDarkRateNoise(), CbmRichDigitizer::AddEventNoise(), CbmRichGeoTest::DrawPmts(), and CbmLitFieldQa::FillRichPmtPlaneBHistos().
| CbmRichPixelData * CbmRichGeoHandler::GetPixelDataByAddress | ( | Int_t | address | ) |
Return CbmRichDataPixel by address
Definition at line 215 of file CbmRichGeoHandler.cxx.
References fPixelAddressToData.
Referenced by CbmRichGeoTest::DrawPmtPoint(), CbmRichGeoTest::DrawPmts(), CbmRichDigiQa::Exec(), CbmLitFieldQa::FillRichPmtPlaneBHistos(), GetNeighbourPixels(), CbmRichUrqmdTest::NofHitsAndPoints(), CbmRichHitProducer::ProcessDigi(), and CbmRichMCbmHitProducer::ProcessDigi().
| CbmRichPmtData * CbmRichGeoHandler::GetPmtDataById | ( | Int_t | id | ) |
Return CbmRichDataPmt by pmt id
Definition at line 226 of file CbmRichGeoHandler.cxx.
References fPmtIdToData.
Referenced by CbmRichGeoTest::DrawPmtPoint(), GetNeighbourPixels(), CbmRichUtil::GetPmtHistBins(), and CbmRichUrqmdTest::NofHitsAndPoints().
|
inline |
Return ids for all pmts
Definition at line 66 of file CbmRichGeoHandler.h.
References fPmtIds.
Referenced by CbmRichGeoTest::DrawPmts(), CbmRichUtil::GetPmtHistBins(), and CbmRichUrqmdTest::NofHitsAndPoints().
| Int_t CbmRichGeoHandler::GetRandomPixelAddress | ( | ) |
Return random address. Used for random noise digis
Definition at line 224 of file CbmRichGeoHandler.cxx.
References fPixelAddresses.
Referenced by CbmRichDigitizer::AddDarkRateNoise(), and CbmRichDigitizer::AddEventNoise().
|
private |
Initialize maps.
Definition at line 31 of file CbmRichGeoHandler.cxx.
References CreateAddressMiniRich(), CreateAddressRich(), fFallback, fPixelAddresses, fPixelAddressToData, fPixelPathToAddress, fPmtIds, fPmtIdToData, fPmtPathToId, GetDetectorSetup(), MiniRich, Rich, and shape.
Referenced by CbmRichGeoHandler().
|
delete |
Assignment operator (disabled)
References CbmRichGeoHandler().
|
private |
Definition at line 114 of file CbmRichGeoHandler.h.
Referenced by Init().
|
private |
Definition at line 118 of file CbmRichGeoHandler.h.
Referenced by GetPixelAddresses(), GetRandomPixelAddress(), and Init().
|
private |
Definition at line 117 of file CbmRichGeoHandler.h.
Referenced by GetPixelDataByAddress(), and Init().
|
private |
Definition at line 116 of file CbmRichGeoHandler.h.
Referenced by GetPixelAddressByPath(), and Init().
|
private |
Definition at line 122 of file CbmRichGeoHandler.h.
Referenced by GetPmtIds(), and Init().
|
private |
Definition at line 121 of file CbmRichGeoHandler.h.
Referenced by GetPmtDataById(), and Init().
|
private |
Definition at line 120 of file CbmRichGeoHandler.h.
Referenced by Init().