CbmRoot
|
#include <CbmClusteringGeometry.h>
Classes | |
struct | PadInformation |
Public Member Functions | |
CbmClusteringGeometry () | |
CbmClusteringGeometry (Int_t nStation, Int_t nLayer, Bool_t nSide, Int_t nModule, CbmMuchGeoScheme *scheme) | |
void | CbmClusteringSetPad (Int_t nPad, Float_t x, Float_t y, Float_t dx, Float_t dy, Double_t phi1, Double_t phi2, Float_t r1, Float_t r2, Int_t digiNum, UInt_t charge, Long64_t chID) |
virtual | ~CbmClusteringGeometry () |
void | SetMuchModuleGeometryRadial (Int_t nStation, Int_t nLayer, Bool_t nSide, Int_t nModule, CbmMuchGeoScheme *scheme) |
void | SetMuchModuleGeometryRadialFast (Int_t nStation, Int_t nLayer, Bool_t nSide, Int_t nModule, CbmMuchGeoScheme *scheme) |
Int_t | GetDetId () const |
Int_t | GetNPads () const |
Int_t | GetAPadsNom () const |
void | SetAPadsNom (Int_t nPads) |
void | SetAPadsPlusOne () |
Float_t | GetDx (Int_t iPad) |
Float_t | GetDy (Int_t iPad) |
Float_t | GetX0 (Int_t iPad) |
Float_t | GetY0 (Int_t iPad) |
Int_t | GetDigiNum (Int_t iPad) |
void | SetDigiNum (Int_t iPad, Int_t iDigi) |
Int_t | GetNeighborsNum (Int_t iPad) |
Int_t | GetGoodNeighborsNum (Int_t iPad) |
Int_t | GetNeighbor (Int_t iPad, Int_t iNeighbor) |
Long64_t | GetPadID (Int_t iPad) |
UInt_t | GetPadCharge (Int_t iPad) |
void | SetPadCharge (Int_t iPad, UInt_t iCharge) |
Int_t | GetPadByChannelId (Long64_t chId) |
Double_t | GetPhi1 (Int_t iPad) |
Double_t | GetPhi2 (Int_t iPad) |
Float_t | GetR1 (Int_t iPad) |
Float_t | GetR2 (Int_t iPad) |
std::vector< Int_t > | GetNeighbors (Int_t iPad) |
Long64_t | GetChannelID (Int_t iPad) |
Private Member Functions | |
template<typename T1 > | |
T1 | GetMin (T1 &a, T1 &b) |
template<typename T2 > | |
T2 | GetMax (T2 &a, T2 &b) |
Bool_t | SubEqual (Double_t x1, Double_t x2, Double_t l) |
CbmClusteringGeometry (const CbmClusteringGeometry &) | |
CbmClusteringGeometry & | operator= (const CbmClusteringGeometry &) |
Private Attributes | |
Long64_t | fNofPads |
Int_t | fDetId |
Int_t | fNofActivePads |
std::map< Long64_t, Int_t > | fPadByChannelId |
PadInformation * | fPadList |
Definition at line 17 of file CbmClusteringGeometry.h.
CbmClusteringGeometry::CbmClusteringGeometry | ( | ) |
Definition at line 39 of file CbmClusteringGeometry.cxx.
References fNofActivePads, and fNofPads.
CbmClusteringGeometry::CbmClusteringGeometry | ( | Int_t | nStation, |
Int_t | nLayer, | ||
Bool_t | nSide, | ||
Int_t | nModule, | ||
CbmMuchGeoScheme * | scheme | ||
) |
Definition at line 44 of file CbmClusteringGeometry.cxx.
References SetMuchModuleGeometryRadialFast().
|
virtual |
Definition at line 98 of file CbmClusteringGeometry.cxx.
References fPadList.
|
private |
void CbmClusteringGeometry::CbmClusteringSetPad | ( | Int_t | nPad, |
Float_t | x, | ||
Float_t | y, | ||
Float_t | dx, | ||
Float_t | dy, | ||
Double_t | phi1, | ||
Double_t | phi2, | ||
Float_t | r1, | ||
Float_t | r2, | ||
Int_t | digiNum, | ||
UInt_t | charge, | ||
Long64_t | chID | ||
) |
Definition at line 70 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::channelID, CbmClusteringGeometry::PadInformation::fCharge, CbmClusteringGeometry::PadInformation::fDigiNum, CbmClusteringGeometry::PadInformation::fDx, CbmClusteringGeometry::PadInformation::fDy, CbmClusteringGeometry::PadInformation::fNeighbors, CbmClusteringGeometry::PadInformation::fNofGoodNeighbors, CbmClusteringGeometry::PadInformation::fNofNeighbors, fPadList, CbmClusteringGeometry::PadInformation::fPhi1, CbmClusteringGeometry::PadInformation::fPhi2, CbmClusteringGeometry::PadInformation::fR1, CbmClusteringGeometry::PadInformation::fR2, CbmClusteringGeometry::PadInformation::fX, CbmClusteringGeometry::PadInformation::fY, x, and y.
|
inline |
Definition at line 53 of file CbmClusteringGeometry.h.
References fNofActivePads.
Referenced by CbmClusteringA1::CbmClusteringA1(), CbmClusteringSL::CbmClusteringSL(), and CbmClusteringWard::CbmClusteringWard().
Long64_t CbmClusteringGeometry::GetChannelID | ( | Int_t | iPad | ) |
Definition at line 456 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::channelID, and fPadList.
|
inline |
Definition at line 51 of file CbmClusteringGeometry.h.
References fDetId.
Int_t CbmClusteringGeometry::GetDigiNum | ( | Int_t | iPad | ) |
Definition at line 373 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fDigiNum, and fPadList.
Referenced by CbmClusteringWard::AddClusterInBlock(), CbmClusteringA1::MainClusteringA1(), and CbmClusteringSL::MainClusteringSL().
Float_t CbmClusteringGeometry::GetDx | ( | Int_t | iPad | ) |
Definition at line 367 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fDx, and fPadList.
Float_t CbmClusteringGeometry::GetDy | ( | Int_t | iPad | ) |
Definition at line 369 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fDy, and fPadList.
Int_t CbmClusteringGeometry::GetGoodNeighborsNum | ( | Int_t | iPad | ) |
Definition at line 385 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fNofGoodNeighbors, and fPadList.
Referenced by CbmClusteringWard::AddClusterInBlock(), CbmClusteringA1::ChangeClusters(), CbmClusteringA1::MainClusteringA1(), CbmClusteringSL::SLRec2(), CbmClusteringWard::WardBlockCreate(), CbmClusteringWard::WardBlockCreateStep(), and CbmClusteringWard::WardCreate().
|
private |
Definition at line 419 of file CbmClusteringGeometry.cxx.
Referenced by SetMuchModuleGeometryRadial().
|
private |
Definition at line 410 of file CbmClusteringGeometry.cxx.
Referenced by SetMuchModuleGeometryRadial().
Int_t CbmClusteringGeometry::GetNeighbor | ( | Int_t | iPad, |
Int_t | iNeighbor | ||
) |
Definition at line 389 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fNeighbors, and fPadList.
Referenced by CbmClusteringA1::ChangeClusters(), CbmClusteringA1::MainClusteringA1(), CbmClusteringSL::SLRec1(), CbmClusteringSL::SLRec2(), CbmClusteringWard::WardBlockCreate(), CbmClusteringWard::WardBlockCreateStep(), and CbmClusteringWard::WardCreate().
vector< Int_t > CbmClusteringGeometry::GetNeighbors | ( | Int_t | iPad | ) |
Definition at line 452 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fNeighbors, and fPadList.
Int_t CbmClusteringGeometry::GetNeighborsNum | ( | Int_t | iPad | ) |
Definition at line 381 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fNofNeighbors, and fPadList.
Referenced by CbmClusteringA1::ChangeClusters(), CbmClusteringA1::MainClusteringA1(), and CbmClusteringSL::SLRec1().
|
inline |
Definition at line 52 of file CbmClusteringGeometry.h.
References fNofPads.
Referenced by CbmClusteringA1::CbmClusteringA1(), CbmClusteringSL::CbmClusteringSL(), and CbmClusteringWard::CbmClusteringWard().
Int_t CbmClusteringGeometry::GetPadByChannelId | ( | Long64_t | chId | ) |
Definition at line 436 of file CbmClusteringGeometry.cxx.
References fPadByChannelId.
UInt_t CbmClusteringGeometry::GetPadCharge | ( | Int_t | iPad | ) |
Definition at line 397 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fCharge, and fPadList.
Referenced by CbmClusteringWard::AddClusterInBlock(), CbmClusteringA1::CbmClusteringA1(), CbmClusteringSL::CbmClusteringSL(), CbmClusteringWard::CbmClusteringWard(), CbmClusteringA1::MainClusteringA1(), CbmClusteringSL::MainClusteringSL(), and CbmClusteringWard::WardCreate().
Long64_t CbmClusteringGeometry::GetPadID | ( | Int_t | iPad | ) |
Definition at line 393 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::channelID, and fPadList.
Double_t CbmClusteringGeometry::GetPhi1 | ( | Int_t | iPad | ) |
Definition at line 440 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fPhi1.
Double_t CbmClusteringGeometry::GetPhi2 | ( | Int_t | iPad | ) |
Definition at line 444 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fPhi2.
Float_t CbmClusteringGeometry::GetR1 | ( | Int_t | iPad | ) |
Definition at line 448 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fR1.
Float_t CbmClusteringGeometry::GetR2 | ( | Int_t | iPad | ) |
Definition at line 450 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fR2.
Float_t CbmClusteringGeometry::GetX0 | ( | Int_t | iPad | ) |
Definition at line 365 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fX.
Referenced by CbmClusteringWard::AddClusterInBlock(), CbmClusteringA1::MainClusteringA1(), CbmClusteringSL::MainClusteringSL(), and CbmClusteringWard::WardCreate().
Float_t CbmClusteringGeometry::GetY0 | ( | Int_t | iPad | ) |
Definition at line 371 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fY.
Referenced by CbmClusteringWard::AddClusterInBlock(), CbmClusteringA1::MainClusteringA1(), CbmClusteringSL::MainClusteringSL(), and CbmClusteringWard::WardCreate().
|
private |
void CbmClusteringGeometry::SetAPadsNom | ( | Int_t | nPads | ) |
Definition at line 405 of file CbmClusteringGeometry.cxx.
References fNofActivePads.
void CbmClusteringGeometry::SetAPadsPlusOne | ( | ) |
Definition at line 407 of file CbmClusteringGeometry.cxx.
References fNofActivePads.
void CbmClusteringGeometry::SetDigiNum | ( | Int_t | iPad, |
Int_t | iDigi | ||
) |
Definition at line 377 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fDigiNum, and fPadList.
void CbmClusteringGeometry::SetMuchModuleGeometryRadial | ( | Int_t | nStation, |
Int_t | nLayer, | ||
Bool_t | nSide, | ||
Int_t | nModule, | ||
CbmMuchGeoScheme * | scheme | ||
) |
Definition at line 172 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::channelID, cos(), fabs(), CbmClusteringGeometry::PadInformation::fCharge, fDetId, CbmClusteringGeometry::PadInformation::fDigiNum, CbmClusteringGeometry::PadInformation::fNeighbors, fNofActivePads, CbmClusteringGeometry::PadInformation::fNofGoodNeighbors, CbmClusteringGeometry::PadInformation::fNofNeighbors, fNofPads, fPadByChannelId, fPadList, CbmClusteringGeometry::PadInformation::fPhi1, CbmClusteringGeometry::PadInformation::fPhi2, CbmClusteringGeometry::PadInformation::fR1, CbmClusteringGeometry::PadInformation::fR2, CbmClusteringGeometry::PadInformation::fX, CbmClusteringGeometry::PadInformation::fY, CbmMuchPad::GetAddress(), CbmMuchModule::GetDetectorId(), CbmMuchAddress::GetElementAddress(), GetMax(), GetMin(), CbmMuchGeoScheme::GetModule(), CbmMuchSector::GetNChannels(), CbmMuchModuleGem::GetNPads(), CbmMuchModuleGem::GetNSectors(), CbmMuchSector::GetPadByChannelIndex(), CbmMuchPadRadial::GetPhi1(), CbmMuchPadRadial::GetPhi2(), CbmMuchModuleGem::GetSectorByIndex(), kMuchChannel, CbmClusteringGeometry::PadInformation::nSector, and sin().
void CbmClusteringGeometry::SetMuchModuleGeometryRadialFast | ( | Int_t | nStation, |
Int_t | nLayer, | ||
Bool_t | nSide, | ||
Int_t | nModule, | ||
CbmMuchGeoScheme * | scheme | ||
) |
Definition at line 268 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::channelID, cos(), fabs(), CbmClusteringGeometry::PadInformation::fCharge, fDetId, CbmClusteringGeometry::PadInformation::fDigiNum, CbmClusteringGeometry::PadInformation::fNeighbors, fNofActivePads, CbmClusteringGeometry::PadInformation::fNofGoodNeighbors, CbmClusteringGeometry::PadInformation::fNofNeighbors, fNofPads, fPadByChannelId, fPadList, CbmClusteringGeometry::PadInformation::fPhi1, CbmClusteringGeometry::PadInformation::fPhi2, CbmClusteringGeometry::PadInformation::fR1, CbmClusteringGeometry::PadInformation::fR2, CbmClusteringGeometry::PadInformation::fX, CbmClusteringGeometry::PadInformation::fY, CbmMuchPad::GetAddress(), CbmMuchModule::GetDetectorId(), CbmMuchAddress::GetElementAddress(), CbmMuchGeoScheme::GetModule(), CbmMuchSector::GetNChannels(), CbmMuchPad::GetNeighbours(), CbmMuchModuleGem::GetNPads(), CbmMuchModuleGem::GetNSectors(), CbmMuchSector::GetPadByChannelIndex(), CbmMuchPadRadial::GetPhi1(), CbmMuchPadRadial::GetPhi2(), CbmMuchModuleGem::GetSectorByIndex(), kMuchChannel, CbmClusteringGeometry::PadInformation::nSector, sin(), and SubEqual().
Referenced by CbmClusteringGeometry().
void CbmClusteringGeometry::SetPadCharge | ( | Int_t | iPad, |
UInt_t | iCharge | ||
) |
Definition at line 401 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fCharge, and fPadList.
|
private |
Definition at line 427 of file CbmClusteringGeometry.cxx.
Referenced by SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 86 of file CbmClusteringGeometry.h.
Referenced by GetDetId(), SetMuchModuleGeometryRadial(), and SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 87 of file CbmClusteringGeometry.h.
Referenced by CbmClusteringGeometry(), GetAPadsNom(), SetAPadsNom(), SetAPadsPlusOne(), SetMuchModuleGeometryRadial(), and SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 85 of file CbmClusteringGeometry.h.
Referenced by CbmClusteringGeometry(), GetNPads(), SetMuchModuleGeometryRadial(), and SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 89 of file CbmClusteringGeometry.h.
Referenced by GetPadByChannelId(), SetMuchModuleGeometryRadial(), and SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 103 of file CbmClusteringGeometry.h.
Referenced by CbmClusteringSetPad(), GetChannelID(), GetDigiNum(), GetDx(), GetDy(), GetGoodNeighborsNum(), GetNeighbor(), GetNeighbors(), GetNeighborsNum(), GetPadCharge(), GetPadID(), GetPhi1(), GetPhi2(), GetR1(), GetR2(), GetX0(), GetY0(), SetDigiNum(), SetMuchModuleGeometryRadial(), SetMuchModuleGeometryRadialFast(), SetPadCharge(), and ~CbmClusteringGeometry().