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 21 of file CbmClusteringGeometry.h.
CbmClusteringGeometry::CbmClusteringGeometry | ( | ) |
Definition at line 42 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 48 of file CbmClusteringGeometry.cxx.
References SetMuchModuleGeometryRadialFast().
|
virtual |
Definition at line 92 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 72 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 37 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 390 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::channelID, and fPadList.
|
inline |
Definition at line 35 of file CbmClusteringGeometry.h.
References fDetId.
Int_t CbmClusteringGeometry::GetDigiNum | ( | Int_t | iPad | ) |
Definition at line 325 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 319 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fDx, and fPadList.
Float_t CbmClusteringGeometry::GetDy | ( | Int_t | iPad | ) |
Definition at line 321 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fDy, and fPadList.
Int_t CbmClusteringGeometry::GetGoodNeighborsNum | ( | Int_t | iPad | ) |
Definition at line 331 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 357 of file CbmClusteringGeometry.cxx.
Referenced by SetMuchModuleGeometryRadial().
|
private |
Definition at line 346 of file CbmClusteringGeometry.cxx.
Referenced by SetMuchModuleGeometryRadial().
Int_t CbmClusteringGeometry::GetNeighbor | ( | Int_t | iPad, |
Int_t | iNeighbor ) |
Definition at line 333 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 388 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fNeighbors, and fPadList.
Int_t CbmClusteringGeometry::GetNeighborsNum | ( | Int_t | iPad | ) |
Definition at line 329 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fNofNeighbors, and fPadList.
Referenced by CbmClusteringA1::ChangeClusters(), CbmClusteringA1::MainClusteringA1(), and CbmClusteringSL::SLRec1().
|
inline |
Definition at line 36 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 378 of file CbmClusteringGeometry.cxx.
References fPadByChannelId.
UInt_t CbmClusteringGeometry::GetPadCharge | ( | Int_t | iPad | ) |
Definition at line 337 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 335 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::channelID, and fPadList.
Double_t CbmClusteringGeometry::GetPhi1 | ( | Int_t | iPad | ) |
Definition at line 380 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fPhi1.
Double_t CbmClusteringGeometry::GetPhi2 | ( | Int_t | iPad | ) |
Definition at line 382 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fPhi2.
Float_t CbmClusteringGeometry::GetR1 | ( | Int_t | iPad | ) |
Definition at line 384 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fR1.
Float_t CbmClusteringGeometry::GetR2 | ( | Int_t | iPad | ) |
Definition at line 386 of file CbmClusteringGeometry.cxx.
References fPadList, and CbmClusteringGeometry::PadInformation::fR2.
Float_t CbmClusteringGeometry::GetX0 | ( | Int_t | iPad | ) |
Definition at line 317 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 323 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 341 of file CbmClusteringGeometry.cxx.
References fNofActivePads.
void CbmClusteringGeometry::SetAPadsPlusOne | ( | ) |
Definition at line 343 of file CbmClusteringGeometry.cxx.
References fNofActivePads.
void CbmClusteringGeometry::SetDigiNum | ( | Int_t | iPad, |
Int_t | iDigi ) |
Definition at line 327 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 166 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::channelID, cos(), 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(), CbmMuchAddress::GetElementAddress(), GetMax(), GetMin(), CbmMuchGeoScheme::GetModule(), CbmMuchSector::GetNChannels(), 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 244 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::channelID, cos(), 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(), CbmMuchAddress::GetElementAddress(), CbmMuchGeoScheme::GetModule(), CbmMuchSector::GetNChannels(), CbmMuchPad::GetNeighbours(), 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 339 of file CbmClusteringGeometry.cxx.
References CbmClusteringGeometry::PadInformation::fCharge, and fPadList.
|
private |
Definition at line 367 of file CbmClusteringGeometry.cxx.
Referenced by SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 70 of file CbmClusteringGeometry.h.
Referenced by GetDetId(), SetMuchModuleGeometryRadial(), and SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 71 of file CbmClusteringGeometry.h.
Referenced by CbmClusteringGeometry(), GetAPadsNom(), SetAPadsNom(), SetAPadsPlusOne(), SetMuchModuleGeometryRadial(), and SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 69 of file CbmClusteringGeometry.h.
Referenced by CbmClusteringGeometry(), GetNPads(), SetMuchModuleGeometryRadial(), and SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 73 of file CbmClusteringGeometry.h.
Referenced by GetPadByChannelId(), SetMuchModuleGeometryRadial(), and SetMuchModuleGeometryRadialFast().
|
private |
Definition at line 87 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().