Go to the documentation of this file.
10 #ifndef HERD_PSDGEOPARAMS_H_
11 #define HERD_PSDGEOPARAMS_H_
float BaseAngle() const
Return the base angle of the PSD elements.
Definition: PsdGeoParams.h:111
TrapezoidalPrism ElementShape(unsigned int volID) const
Utility function to get the shape in space of a particular tile/bar.
Definition: PsdGeoParams.cpp:112
const AxesArray< unsigned int > & NElements() const
Return the number of PSD elements along each segmentation axis.
Definition: PsdGeoParams.h:62
std::pair< RefFrame::Direction, RefFrame::Direction > SegmentationDirections() const
Return the segmentation directions of the PSD tiles.
Definition: PsdGeoParams.h:129
A class describing a vector in 3D space.
Definition: Vec3D.h:33
AxesArray< unsigned int > _nElements
Number of PSD elements along each segmentation axis.
Definition: PsdGeoParams.h:190
PsdElement()
Definition: PsdGeoParams.h:182
RefFrame::Direction NormalDirection() const
Return the normal to the PSD surface, which points outside the full detector.
Definition: PsdGeoParams.h:74
#define DEFAULT_INIT(x)
Definition: DefaultValues.h:23
const AxesArray< float > & Sizes() const
Return the size of a PSD element, one value for each direction. Size in trapezoidal shapes refers to ...
Definition: PsdGeoParams.h:81
void SetSegmentationDirections(RefFrame::Direction mainSegmDir, RefFrame::Direction secSegmDir)
Set the base segmentation directions of the PSD elements.
Definition: PsdGeoParams.h:172
float _baseAngle
Secondary segmentation direction for elements.
Definition: PsdGeoParams.h:195
void SetPosition(unsigned int volID, Point position)
Set the position of a PSD element.
Definition: PsdGeoParams.h:159
Point _position
Position of the center of the PSD element.
Definition: PsdGeoParams.h:179
virtual ~PsdGeoParams()=default
Virtual destructor
Direction
Aliases for the six axis directions.
Definition: RefFrame.h:55
CooArray< unsigned char > _indexes
Indexes of the PSD element for each coordinate.
Definition: PsdGeoParams.h:180
unsigned int NTotElements() const
Return the total number of PSD elements.
Definition: PsdGeoParams.h:68
const Parallelepiped & BoundingBox() const
Get the layer bounding box for quick geometric checks (intersections and such).
Definition: PsdGeoParams.cpp:57
void SetSizes(AxesArray< float > sizes)
Set the size of a PSD element, one value for each direction. Size in trapezoidal shapes refers to the...
Definition: PsdGeoParams.h:152
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
This struct is used only inside the object, it is public since Root can not save the object otherwise...
Definition: PsdGeoParams.h:178
void ComputeBoundingBox() const
Bounding box for this layer, to use for quick intersection checks.
Definition: PsdGeoParams.cpp:64
PsdGeoParams(unsigned int nTotElements)
Constructor.
Definition: PsdGeoParams.h:39
PsdGeoParams()
PsdGeoParams constructor.
Definition: PsdGeoParams.h:34
const CooArray< unsigned char > & CooIndexes(unsigned int volID) const
Return the indexes of a PSD element.
Definition: PsdGeoParams.h:95
Parallelepiped _boundingBox
Flag to signal Bounding box must be recomputed.
Definition: PsdGeoParams.h:198
bool _bbIsValid
Definition: PsdGeoParams.h:197
Data structure for PSD geometry parameters.
Definition: PsdGeoParams.h:31
std::vector< PsdElement > _psdElements
Vector of PSD elements, which include the position and the indexes.
Definition: PsdGeoParams.h:196
A trapezoidal prism in 3D space.
Definition: TrapezoidalPrism.h:27
void SetNormal(RefFrame::Direction normal)
Set the normal to the PSD surface, which points outside the full detector.
Definition: PsdGeoParams.h:145
RefFrame::Direction _mainSegmDir
Definition: PsdGeoParams.h:193
RefFrame::Direction _normal
Normal of the PSD which points outside the full detector.
Definition: PsdGeoParams.h:192
void SetDefaultSegmDirections()
Definition: PsdGeoParams.cpp:12
AxesArray< float > _sizes
Size of a PSD element, one value for each direction.
Definition: PsdGeoParams.h:191
void SetBaseAngle(float baseAngle)
Set the base angle of the PSD elements.
Definition: PsdGeoParams.h:165
RefFrame::Direction _secSegmDir
Main segmentation direction for elements.
Definition: PsdGeoParams.h:194
void SetNElements(AxesArray< unsigned int > nElements)
Set the number of PSD elements along each segmentation axis and compute the indexes.
Definition: PsdGeoParams.cpp:38
A parallelepiped in 3D space.
Definition: Parallelepiped.h:25
const Point & Position(unsigned int volID) const
Return the position of a PSD element.
Definition: PsdGeoParams.h:88
bool IsSmallerFaceOutward(unsigned int volID)
Specifies if the PSD element has the smaller basis of the trapezoidal pointing outward.
Definition: PsdGeoParams.h:117