![]() |
AliRoot Core
d69033e (d69033e)
|
The abstract base class for the segmentation. More...
#include <AliMpVSegmentation.h>
Public Member Functions | |
AliMpVSegmentation () | |
virtual | ~AliMpVSegmentation () |
virtual AliMpVPadIterator * | CreateIterator (const AliMpArea &area) const =0 |
Create iterator over pads in the given area. More... | |
virtual AliMpVPadIterator * | CreateIterator () const =0 |
Create a pad iterator over the whole area. More... | |
virtual Int_t | GetNeighbours (const AliMpPad &pad, TObjArray &neighbours, Bool_t includeSelf=kFALSE, Bool_t includeVoid=kFALSE) const =0 |
virtual AliMpPad | PadByLocation (Int_t manuId, Int_t manuChannel, Bool_t warning=true) const =0 |
Find pad by location. More... | |
virtual AliMpPad | PadByIndices (Int_t ix, Int_t iy, Bool_t warning=true) const =0 |
Find pad by indices. More... | |
virtual AliMpPad | PadByPosition (Double_t x, Double_t y, Bool_t warning=true) const =0 |
Find pad by position. More... | |
virtual Bool_t | HasPadByIndices (Int_t ix, Int_t iy) const |
virtual Bool_t | HasPadByLocation (Int_t manuId, Int_t manuChannel) const |
Return true if the pad with given location exists. More... | |
virtual Int_t | MaxPadIndexX () const =0 |
Return maximum pad index in X direction. More... | |
virtual Int_t | MaxPadIndexY () const =0 |
Return maximum pad index in Y direction. More... | |
virtual Int_t | NofPads () const =0 |
Return the number of pads in the detection element. More... | |
virtual void | GetAllElectronicCardIDs (TArrayI &ecn) const =0 |
Fill the given array with the electronic card IDs. More... | |
virtual Int_t | GetNofElectronicCards () const =0 |
Get the number of electronic card IDs. More... | |
virtual Bool_t | HasMotifPosition (Int_t manuId) const =0 |
Whether or not we have a given manu. More... | |
virtual AliMpMotifPosition * | MotifPosition (Int_t manuId) const =0 |
Return the position of a given manu (aka motifPosition) More... | |
virtual AliMp::PlaneType | PlaneType () const =0 |
Return the plane type. More... | |
virtual AliMp::StationType | StationType () const =0 |
Return the station type. More... | |
virtual Double_t | GetDimensionX () const =0 |
Return the x half-sizes of the detection element. More... | |
virtual Double_t | GetDimensionY () const =0 |
Return the y half-sizes of the detection element. More... | |
virtual Double_t | GetPositionX () const =0 |
Return the x position of the origin of the detection element. More... | |
virtual Double_t | GetPositionY () const =0 |
Return the y position of the origin of the detection element. More... | |
The abstract base class for the segmentation.
Provides methods related to pads: conversion between pad indices, pad location, pad position; finding pad neighbour.
Definition at line 36 of file AliMpVSegmentation.h.
AliMpVSegmentation::AliMpVSegmentation | ( | ) |
Default constructor
Definition at line 47 of file AliMpVSegmentation.cxx.
|
virtual |
Destructor
Definition at line 54 of file AliMpVSegmentation.cxx.
|
pure virtual |
Create iterator over pads in the given area.
Implemented in AliMpSlatSegmentation, AliMpFastSegmentation, AliMpTriggerSegmentation, and AliMpSectorSegmentation.
Referenced by AliMUONAlignmentCompareDialog::CompareAlignment(), AliMUONGeometryTransformer::CreateDEAreas(), AliMpFastSegmentation::CreateIterator(), and AliMpDEVisu::PopUpZoom().
|
pure virtual |
Create a pad iterator over the whole area.
Implemented in AliMpSlatSegmentation, AliMpFastSegmentation, AliMpTriggerSegmentation, and AliMpSectorSegmentation.
|
pure virtual |
Fill the given array with the electronic card IDs.
Implemented in AliMpSlatSegmentation, AliMpSectorSegmentation, AliMpTriggerSegmentation, and AliMpFastSegmentation.
Referenced by AliMpDetElement::AddManu(), AliMpFastSegmentation::AliMpFastSegmentation(), AliMpSegmentation::FillElCardsMap(), AliMpFastSegmentation::GetAllElectronicCardIDs(), and AliMpDDLStore::SetManus().
|
pure virtual |
Return the x half-sizes of the detection element.
Implemented in AliMpSlatSegmentation, AliMpSectorSegmentation, AliMpTriggerSegmentation, and AliMpFastSegmentation.
Referenced by AliMUONGeometryTransformer::CreateDEAreas(), AliMpDEVisu::EventToReal(), AliMUONDigitizerV3::GenerateNoisyDigitsForTrigger(), and AliMpFastSegmentation::GetDimensionX().
|
pure virtual |
Return the y half-sizes of the detection element.
Implemented in AliMpSlatSegmentation, AliMpSectorSegmentation, AliMpTriggerSegmentation, and AliMpFastSegmentation.
Referenced by AliMUONGeometryTransformer::CreateDEAreas(), AliMpDEVisu::EventToReal(), AliMUONDigitizerV3::GenerateNoisyDigitsForTrigger(), and AliMpFastSegmentation::GetDimensionY().
|
pure virtual |
Fill the array with the pads that are neighbours of pad. Returns the number of neighbours.
Returns the list of neighbours of pad testPositions are the positions (L,T,R,B) relative to pad's center (O) were we'll try to get a neighbouring pad, by getting a little bit outside the pad itself. The pad density can only decrease when going from left to right except for round slates where it is the opposite. The pad density can only decrease when going from bottom to top but to be symmetric we also consider the opposite. The order in which we actually test the positions has some importance, i.e. when using this information to compute status map later on. Here's the sequence :
4- 5- 6-7 | | 3 8 | 0 | 2 9 | | 1-12-11-10
Implemented in AliMpSlatSegmentation, AliMpFastSegmentation, AliMpSectorSegmentation, and AliMpTriggerSegmentation.
Definition at line 61 of file AliMpVSegmentation.cxx.
Referenced by AliMUONPreClusterFinderV2::AddPad(), AliMpSectorSegmentation::GetNeighbours(), AliMpFastSegmentation::GetNeighbours(), and AliMpSlatSegmentation::GetNeighbours().
|
pure virtual |
Get the number of electronic card IDs.
Implemented in AliMpSlatSegmentation, AliMpTriggerSegmentation, AliMpSectorSegmentation, and AliMpFastSegmentation.
Referenced by AliMpFastSegmentation::GetNofElectronicCards().
|
pure virtual |
Return the x position of the origin of the detection element.
Implemented in AliMpSlatSegmentation, AliMpSectorSegmentation, AliMpTriggerSegmentation, and AliMpFastSegmentation.
Referenced by AliMpFastSegmentation::AliMpFastSegmentation(), AliMUONManuContourMaker::CreateManuContour(), and AliMpFastSegmentation::GetPositionX().
|
pure virtual |
Return the y position of the origin of the detection element.
Implemented in AliMpSlatSegmentation, AliMpSectorSegmentation, AliMpTriggerSegmentation, and AliMpFastSegmentation.
Referenced by AliMpFastSegmentation::AliMpFastSegmentation(), AliMUONManuContourMaker::CreateManuContour(), and AliMpFastSegmentation::GetPositionY().
|
pure virtual |
Whether or not we have a given manu.
Default implementation to know if we hold a given manu
Implemented in AliMpSlatSegmentation, AliMpTriggerSegmentation, AliMpFastSegmentation, and AliMpSectorSegmentation.
Definition at line 167 of file AliMpVSegmentation.cxx.
Referenced by AliMpSectorSegmentation::HasMotifPosition(), AliMpTriggerSegmentation::HasMotifPosition(), and AliMpSlatSegmentation::HasMotifPosition().
|
virtual |
Return true if the pad with given indices exists. Compared with the PadByIndices method, this one can generally be implemented faster, as one does not have to create an AliMpPad object...
Default implementation. Must be overwritten if can be made more efficient in the child class
Reimplemented in AliMpSlatSegmentation, AliMpSectorSegmentation, and AliMpFastSegmentation.
Definition at line 147 of file AliMpVSegmentation.cxx.
Referenced by AliMpTriggerSegmentation::AliMpTriggerSegmentation(), and AliMpFastSegmentation::HasPadByIndices().
|
virtual |
Return true if the pad with given location exists.
Default implementation. Must be overwritten if can be made more efficient in the child class
Reimplemented in AliMpSlatSegmentation, AliMpSectorSegmentation, and AliMpFastSegmentation.
Definition at line 157 of file AliMpVSegmentation.cxx.
Referenced by AliMpFastSegmentation::AliMpFastSegmentation(), AliMUONManuPadPainter::ComputeDataRange(), and AliMpFastSegmentation::HasPadByLocation().
|
pure virtual |
Return maximum pad index in X direction.
Implemented in AliMpSectorSegmentation, AliMpFastSegmentation, AliMpSlatSegmentation, and AliMpTriggerSegmentation.
Referenced by AliMUONTriggerGUI::CreateDigitStore(), AliMUONTriggerGUIbdmap::DrawStrips(), AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(), AliMUONTriggerGUI::InitBoards(), AliMpFastSegmentation::MaxPadIndexX(), and AliMUONTriggerGUI::SetStripBoxes().
|
pure virtual |
Return maximum pad index in Y direction.
Implemented in AliMpSectorSegmentation, AliMpFastSegmentation, AliMpSlatSegmentation, and AliMpTriggerSegmentation.
Referenced by AliMUONTriggerGUI::CreateDigitStore(), AliMUONTriggerGUIbdmap::DrawStrips(), AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(), AliMUONTriggerGUI::InitBoards(), AliMpFastSegmentation::MaxPadIndexY(), and AliMUONTriggerGUI::SetStripBoxes().
|
pure virtual |
Return the position of a given manu (aka motifPosition)
Implemented in AliMpSlatSegmentation, AliMpTriggerSegmentation, AliMpFastSegmentation, and AliMpSectorSegmentation.
Referenced by AliMpFastSegmentation::AliMpFastSegmentation(), AliMUONManuContourMaker::CreateManuContour(), AliMUONPainterHelper::GetMotifPosition(), and HasMotifPosition().
|
pure virtual |
Return the number of pads in the detection element.
Implemented in AliMpSectorSegmentation, AliMpFastSegmentation, AliMpSlatSegmentation, and AliMpTriggerSegmentation.
Referenced by AliMUONCheck::CheckOccupancy(), AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(), and AliMpFastSegmentation::NofPads().
|
pure virtual |
Find pad by indices.
Implemented in AliMpSlatSegmentation, AliMpTriggerSegmentation, AliMpFastSegmentation, and AliMpSectorSegmentation.
Referenced by AliMUONPreClusterFinderV2::AddPad(), AliMUONTriggerGUI::CreateDigitStore(), AliMUONResponseTriggerV1::DisIntegrate(), AliMUONTriggerGUIbdmap::DrawDigits(), AliMUONTriggerGUIdimap::DrawMaps(), AliMUONTriggerGUIbdmap::DrawStrips(), AliMUONChamberCalibrationTask::Exec(), AliMUONTriggerElectronics::Feed(), AliMUONTriggerCircuit::FillXstrips(), AliMUONTriggerCircuit::FillYstrips(), AliMUONTrackHitPattern::FindMatchingPads(), AliMUONTrackHitPattern::FindPadMatchingTrack(), AliMUONTrackHitPattern::FindPadMatchingTrig(), AliMUONDigitizerV3::GenerateNoisyDigitsForOneCathode(), HasPadByIndices(), AliMUONTriggerUtilities::Init(), AliMUONTriggerGUI::InitBoards(), AliMUONTriggerCircuit::LoadYPos(), MUONClusterInfo(), AliMpFastSegmentation::PadByIndices(), AliMpTriggerSegmentation::PadByIndices(), AliMUONTriggerGUI::PrintDigitStore(), AliMUONTriggerGUI::SetStripBoxes(), and AliMUONSimpleClusterServer::UseDigits().
|
pure virtual |
Find pad by location.
Implemented in AliMpSlatSegmentation, AliMpTriggerSegmentation, AliMpFastSegmentation, and AliMpSectorSegmentation.
Referenced by AliMpDetElement::AddManu(), AliMpFastSegmentation::AliMpFastSegmentation(), AliMUONESDInterface::ESDToMUON(), HasPadByLocation(), AliMUONTriggerDisplay::InitOrDisplayTriggerInfo(), AliMUONTriggerQADataMakerRec::MakeRaws(), AliMpFastSegmentation::PadByLocation(), AliMpTriggerSegmentation::PadByLocation(), AliMUONManuPadPainter::PaintArea(), AliMUONManuPadPainter::PaintOutline(), AliMUONCDB::Plot(), AliMUONDigitMaker::ReadTrackerDDL(), and AliMUONDigitMaker::TriggerDigits().
|
pure virtual |
Find pad by position.
Implemented in AliMpSlatSegmentation, AliMpTriggerSegmentation, AliMpFastSegmentation, and AliMpSectorSegmentation.
Referenced by AliMUONClusterFinderMLEM::AddVirtualPad(), AliMUONVTrackReconstructor::ChangeMonoCathodClusterRes(), AliMUONClusterFinderPeakCOG::CheckPreclusterTwoCathodes(), AliMUONClusterFinderPeakFit::CheckPreclusterTwoCathodes(), AliMUONClusterFinderMLEM::CheckPreclusterTwoCathodes(), AliMUONResponseTrigger::DisIntegrate(), AliMUONResponseTriggerV1::DisIntegrate(), AliMUONResponseV0::DisIntegrate(), AliMUONSimpleClusterServer::FindMCLabel(), AliMUONDigitizerV3::GenerateNoisyDigitsForTrigger(), AliMUONQAMappingCheck::GetClusterLocation(), GetNeighbours(), AliMUONTrackHitPattern::GetTrackParamAtChamber(), AliMpDEVisu::HandleMovement(), AliMUONRecoCheck::IsHitInFrontOfPad(), AliMUONTrackHitPattern::IsMasked(), AliMUONRecoCheck::MakeTriggerableTracks(), AliMpFastSegmentation::PadByPosition(), AliMpTriggerSegmentation::PadByPosition(), AliMUONManuPadPainter::PadByPosition(), and AliMUONTrackHitPattern::PadsFromPos().
|
pure virtual |
Return the plane type.
Implemented in AliMpSlatSegmentation, AliMpSectorSegmentation, AliMpTriggerSegmentation, and AliMpFastSegmentation.
Referenced by AliMUONResponseV0::DisIntegrate(), AliMpFastSegmentation::PlaneType(), and AliMUONDigitMaker::ReadTrackerDDL().
|
pure virtual |
Return the station type.
Implemented in AliMpFastSegmentation, AliMpSlatSegmentation, AliMpSectorSegmentation, and AliMpTriggerSegmentation.
Referenced by AliMpSegmentation::GetSector(), AliMpSegmentation::GetSlat(), AliMpSegmentation::GetTrigger(), and AliMpFastSegmentation::StationType().