1 #ifndef CTL_MODULELAYOUT_H 2 #define CTL_MODULELAYOUT_H 6 typedef unsigned int uint;
61 #endif // CTL_MODULELAYOUT_H Simple class that holds the layout of a multi module detector.
Definition: modulelayout.h:32
uint nbNonEmptyModules() const
Returns the number of entries that is larger than zero.
Definition: modulelayout.cpp:84
int & operator()(uint row, uint col)
Definition: modulelayout.cpp:62
static ModuleLayout canonicLayout(uint nbRows, uint nbCols, bool rowMajorOrder=true)
Definition: modulelayout.cpp:155
ModuleLayout(uint nbRows=0, uint nbCols=0)
Definition: modulelayout.cpp:40
bool isEmpty() const
Definition: modulelayout.cpp:93
uint rows() const
Definition: modulelayout.cpp:77
uint _cols
The number of columns in the layout.
Definition: modulelayout.h:53
std::vector< uint > uniqueIndices() const
Returns a set (i.e. no repetitions) of all indices appearing in this layout. Does not list negative v...
Definition: modulelayout.cpp:118
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
int largestModuleIdx() const
Returns the largest module index in this layout or -1 if the layout is empty.
Definition: modulelayout.cpp:106
std::vector< int > _layout
The internal data vector.
Definition: modulelayout.h:54
uint columns() const
Definition: modulelayout.cpp:72
uint _rows
The number of rows in the layout.
Definition: modulelayout.h:52
bool hasUniqueIndices() const
Returns true if all indices in this instance appear at maximum once.
Definition: modulelayout.cpp:98