1 #ifndef CTL_CYLINDRICALDETECTOR_H 2 #define CTL_CYLINDRICALDETECTOR_H 31 double angulationPerModule,
38 double angulationPerModule,
50 QString
info() const override;
75 static constexpr auto MIN_ANGUL = 1.0e-6;
90 #endif // CTL_CYLINDRICALDETECTOR_H QVector< ModuleLocation > moduleLocationsFlatApprox() const
Computes the locations, i.e. their relative position and orientation w.r.t. the center of the full de...
Definition: cylindricaldetector.cpp:212
SystemComponent * clone() const override
Definition: cylindricaldetector.cpp:297
double rowCoverage() const
Definition: cylindricaldetector.cpp:337
const QSizeF & pixelSize() const
Definition: abstractdetector.h:149
double moduleWidth() const
Definition: cylindricaldetector.cpp:328
void setAngulationFromFanAngle(uint nbModules, double fanAngle, double radius)
Definition: cylindricaldetector.cpp:349
void fromVariant(const QVariant &variant) override
Definition: cylindricaldetector.cpp:255
double fanAngle() const
Definition: cylindricaldetector.cpp:318
uint _nbModules
Number of individual (flat-panel) modules in the detector.
Definition: cylindricaldetector.h:68
static QString defaultName()
Definition: cylindricaldetector.cpp:147
double _angulationPerModule
Angulation (in rad) between adjacent detector modules.
Definition: cylindricaldetector.h:69
double _moduleSpacing
Gap between adjacent detector modules (zero if fitting tight).
Definition: cylindricaldetector.h:70
const QSize & nbPixelPerModule() const
Definition: abstractdetector.h:136
QVector< double > moduleAngulations() const
Definition: cylindricaldetector.cpp:244
static CylindricalDetector fromRadiusAndFanAngle(const QSize &nbPixelPerModule, const QSizeF &pixelSize, uint nbDetectorModules, double radius, double fanAngle, const QString &name=defaultName())
Definition: cylindricaldetector.cpp:71
const QString & name() const
Definition: systemcomponent.cpp:42
double angulationOfModule(uint module) const
Definition: cylindricaldetector.cpp:281
double coneAngle() const
Definition: cylindricaldetector.cpp:305
QVariant toVariant() const override
Definition: cylindricaldetector.cpp:266
Base class for detector components.
Definition: abstractdetector.h:54
Base class for all system components.
Definition: systemcomponent.h:53
Definition: matrix_utils.h:27
Specialized sub-class of AbstractDetector for detector systems with cylindrical arrangement of module...
Definition: cylindricaldetector.h:20
void setSpacingFromRadius(double radius)
Definition: cylindricaldetector.cpp:358
#define CTL_TYPE_ID(newIndex)
Definition: serializationinterface.h:189
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
QString info() const override
Definition: cylindricaldetector.cpp:107
static CylindricalDetector fromAngulationAndSpacing(const QSize &nbPixelPerModule, const QSizeF &pixelSize, uint nbDetectorModules, double angulationPerModule, double moduleSpacing, const QString &name=defaultName())
Definition: cylindricaldetector.cpp:52
QVector< ModuleLocation > moduleLocations() const override
Computes the locations, i.e. their relative position and orientation w.r.t. the center of the full de...
Definition: cylindricaldetector.cpp:165
double curvatureRadius() const
Definition: cylindricaldetector.cpp:133
uint nbDetectorModules() const
Definition: abstractdetector.h:130
double moduleSpacing() const
Definition: cylindricaldetector.cpp:291