![]() |
ATLAS Offline Software
|
#include <PixelDiodeMap.h>
Public Member Functions | |
PixelDiodeMap (std::shared_ptr< const PixelDiodeMatrix > diodeMatrix) | |
Constructor from Diode matrix description. More... | |
PixelDiodeMap (const PixelDiodeMap &map) | |
Copy constructor: More... | |
~PixelDiodeMap () | |
Destructor. More... | |
PixelDiodeMap & | operator= (const PixelDiodeMap &map) |
Assignment operator. More... | |
SiDiodesParameters | parameters (const SiCellId &diodeId) const |
Get diodes parameters (position and size): More... | |
SiCellId | cellIdOfPosition (const Amg::Vector2D &localPosition) const |
cell id for a given local position More... | |
SiCellId | cellIdInRange (const SiCellId &cellId) const |
Check if cellId is within range. More... | |
void | neighboursOfCell (const SiCellId &cellId, std::vector< SiCellId > &neighbours) const |
Get the neighbouring PixelDiodes of a given PixelDiode: Cell for which the neighbours must be found List of cells which are neighbours of the given one. More... | |
double | intersectionLength (const SiCellId &diode1, const SiCellId &diode2) const |
Compute the intersection length of two diodes: return: the intersection length when the two diodes are projected on one of the two axis, or 0 in case of no intersection or problem nput: the two diodes for which the intersection length is computed. More... | |
double | leftColumn () const |
double | rightColumn () const |
double | leftRow () const |
double | rightRow () const |
double | width () const |
double | length () const |
int | phiDiodes () const |
int | etaDiodes () const |
int | diodes () const |
void | setGeneralLayout () |
Set general layout flag. More... | |
std::string | debugStringRepr () const |
Debug representation. More... | |
PixelDiodeParametersProxy | parametersProxy (const SiCellId &cellId) const |
Search diode for the given cell and return proxy to access its parameters. More... | |
Private Member Functions | |
void | neighboursOfCellGeneral (const SiCellId &cellId, std::vector< SiCellId > &neighbours) const |
Slower method. More... | |
double | intersectionLengthGeneral (const SiCellId &diode1, const SiCellId &diode2) const |
Slower method. More... | |
Static Private Member Functions | |
static double | intersectionLength1D (const double x1, const double dx1, const double x2, const double dx2) |
Compute the intersection length along one direction: return 0 if no intersection x1,x2 are the centers dx1,dx2 are the full lengths. More... | |
Private Attributes | |
std::shared_ptr< const PixelDiodeMatrix > | m_matrix |
diode matrix More... | |
bool | m_generalLayout |
Flag set to allow for dealing wth more general layouts. More... | |
Class used to describe the diode segmentation of a pixel module
Definition at line 44 of file PixelDiodeMap.h.
InDetDD::PixelDiodeMap::PixelDiodeMap | ( | std::shared_ptr< const PixelDiodeMatrix > | diodeMatrix | ) |
Constructor from Diode matrix description.
Definition at line 28 of file PixelDiodeMap.cxx.
InDetDD::PixelDiodeMap::PixelDiodeMap | ( | const PixelDiodeMap & | map | ) |
Copy constructor:
|
default |
Destructor.
Check if cellId is within range.
Definition at line 197 of file PixelDiodeMap.h.
SiCellId InDetDD::PixelDiodeMap::cellIdOfPosition | ( | const Amg::Vector2D & | localPosition | ) | const |
|
inline |
Debug representation.
Definition at line 205 of file PixelDiodeMap.h.
|
inline |
Definition at line 182 of file PixelDiodeMap.h.
|
inline |
Definition at line 192 of file PixelDiodeMap.h.
double InDetDD::PixelDiodeMap::intersectionLength | ( | const SiCellId & | diode1, |
const SiCellId & | diode2 | ||
) | const |
Compute the intersection length of two diodes: return: the intersection length when the two diodes are projected on one of the two axis, or 0 in case of no intersection or problem nput: the two diodes for which the intersection length is computed.
Definition at line 215 of file PixelDiodeMap.cxx.
|
staticprivate |
Compute the intersection length along one direction: return 0 if no intersection x1,x2 are the centers dx1,dx2 are the full lengths.
Definition at line 270 of file PixelDiodeMap.cxx.
|
private |
Slower method.
Called by intersectionLength if m_generalLayout set.
Definition at line 237 of file PixelDiodeMap.cxx.
|
inline |
Definition at line 162 of file PixelDiodeMap.h.
|
inline |
Definition at line 172 of file PixelDiodeMap.h.
|
inline |
Definition at line 152 of file PixelDiodeMap.h.
void InDetDD::PixelDiodeMap::neighboursOfCell | ( | const SiCellId & | cellId, |
std::vector< SiCellId > & | neighbours | ||
) | const |
Get the neighbouring PixelDiodes of a given PixelDiode: Cell for which the neighbours must be found List of cells which are neighbours of the given one.
Definition at line 104 of file PixelDiodeMap.cxx.
|
private |
Slower method.
Called by neighboursOfCell if m_generalLayout set.
Definition at line 149 of file PixelDiodeMap.cxx.
PixelDiodeMap& InDetDD::PixelDiodeMap::operator= | ( | const PixelDiodeMap & | map | ) |
Assignment operator.
SiDiodesParameters InDetDD::PixelDiodeMap::parameters | ( | const SiCellId & | diodeId | ) | const |
|
inline |
Search diode for the given cell and return proxy to access its parameters.
Will search through the diode matrix, and compute the diode position at the same time. The position will be cached in the proxy. The proxy will provide access to parameters associated to the diode.
Definition at line 210 of file PixelDiodeMap.h.
|
inline |
Definition at line 187 of file PixelDiodeMap.h.
|
inline |
Definition at line 167 of file PixelDiodeMap.h.
|
inline |
Definition at line 177 of file PixelDiodeMap.h.
|
inline |
Set general layout flag.
This can be set to true to allow handling of more complex layouts where cells are not lined up with each other such as bricking. Probably never will be needed.
Definition at line 107 of file PixelDiodeMap.h.
|
inline |
Definition at line 157 of file PixelDiodeMap.h.
|
private |
Flag set to allow for dealing wth more general layouts.
Definition at line 145 of file PixelDiodeMap.h.
|
private |
diode matrix
Definition at line 144 of file PixelDiodeMap.h.