Project
Loading...
Searching...
No Matches
GPUTRDGeometry.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef GPUTRDGEOMETRY_H
16#define GPUTRDGEOMETRY_H
17
18#include "GPUCommonDef.h"
19
20class TObjArray;
21#include "GPUDef.h"
23#include "TRDBase/PadPlane.h"
26
27namespace o2::gpu
28{
29
31{
32 public:
33 GPUd() float GetTiltingAngle() const { return getTiltingAngle(); }
34 GPUd() float GetRowSize(int32_t row) const { return getRowSize(row); }
35 GPUd() float GetColSize(int32_t col) const { return getColSize(col); }
36 GPUd() float GetRow0() const { return getRow0(); }
37 GPUd() float GetCol0() const { return getCol0(); }
38 GPUd() float GetRowEnd() const { return getRowEnd(); }
39 GPUd() float GetColEnd() const { return getColEnd(); }
40 GPUd() float GetRowPos(int32_t row) const { return getRowPos(row); }
41 GPUd() float GetColPos(int32_t col) const { return getColPos(col); }
42 GPUd() float GetNrows() const { return getNrows(); }
43 GPUd() float GetNcols() const { return getNcols(); }
44 GPUd() int32_t GetPadRowNumber(double z) const { return getPadRowNumber(z); }
45};
46
48{
49 public:
50 GPUd() static bool CheckGeometryAvailable() { return true; }
51
52 // Make sub-functionality available directly in GPUTRDGeometry
53 GPUd() float GetPadPlaneWidthIPad(int32_t det) const { return getPadPlane(det)->getWidthIPad(); }
54 GPUd() float GetPadPlaneRowPos(int32_t layer, int32_t stack, int32_t row) const { return getPadPlane(layer, stack)->getRowPos(row); }
55 GPUd() float GetPadPlaneRowSize(int32_t layer, int32_t stack, int32_t row) const { return getPadPlane(layer, stack)->getRowSize(row); }
56 GPUd() int32_t GetGeomManagerVolUID(int32_t det, int32_t modId) const { return 0; }
57
58 // Base functionality of Geometry
59 GPUd() float GetTime0(int32_t layer) const { return getTime0(layer); }
60 GPUd() float GetCol0(int32_t layer) const { return getCol0(layer); }
61 GPUd() float GetCdrHght() const { return cdrHght(); }
62 GPUd() int32_t GetLayer(int32_t det) const { return getLayer(det); }
63 GPUd() bool CreateClusterMatrixArray() const { return false; }
64 GPUd() float AnodePos() const { return anodePos(); }
65 GPUd() const Transform3D* GetClusterMatrix(int32_t det) const { return getMatrixT2L(det); }
66 GPUd() int32_t GetDetector(int32_t layer, int32_t stack, int32_t sector) const { return getDetector(layer, stack, sector); }
67 GPUd() const GPUTRDpadPlane* GetPadPlane(int32_t layer, int32_t stack) const { return (GPUTRDpadPlane*)getPadPlane(layer, stack); }
68 GPUd() const GPUTRDpadPlane* GetPadPlane(int32_t detector) const { return (GPUTRDpadPlane*)getPadPlane(detector); }
69 GPUd() int32_t GetSector(int32_t det) const { return getSector(det); }
70 GPUd() int32_t GetStack(int32_t det) const { return getStack(det); }
71 GPUd() int32_t GetStack(float z, int32_t layer) const { return getStack(z, layer); }
72 GPUd() float GetAlpha() const { return getAlpha(); }
73 GPUd() bool IsHole(int32_t la, int32_t st, int32_t se) const { return isHole(la, st, se); }
74 GPUd() int32_t GetRowMax(int32_t layer, int32_t stack, int32_t sector) const { return getRowMax(layer, stack, sector); }
75 GPUd() bool ChamberInGeometry(int32_t det) const { return chamberInGeometry(det); }
76
77 static constexpr int32_t kNstack = o2::trd::constants::NSTACK;
78};
79} // namespace o2::gpu
80
81#endif // GPUTRDGEOMETRY_H
Global TRD definitions and constants.
uint32_t col
Definition RawData.h:4
GPUd() int32_t GetSector(int32_t det) const
GPUd() float GetAlpha() const
GPUd() const GPUTRDpadPlane *GetPadPlane(int32_t detector) const
GPUd() bool ChamberInGeometry(int32_t det) const
GPUd() float GetPadPlaneWidthIPad(int32_t det) const
GPUd() int32_t GetStack(int32_t det) const
GPUd() float GetTime0(int32_t layer) const
GPUd() float AnodePos() const
GPUd() int32_t GetRowMax(int32_t layer
GPUd() float GetCol0(int32_t layer) const
GPUd() static bool CheckGeometryAvailable()
GPUd() const Transform3D *GetClusterMatrix(int32_t det) const
GPUd() bool CreateClusterMatrixArray() const
GPUd() int32_t GetLayer(int32_t det) const
int32_t int32_t row const
GPUd() float GetCdrHght() const
static constexpr int32_t kNstack
GPUd() float GetPadPlaneRowSize(int32_t layer
GPUd() float GetColSize(int32_t col) const
GPUd() float GetRow0() const
GPUd() float GetRowSize(int32_t row) const
GPUd() float GetNcols() const
GPUd() float GetNrows() const
GPUd() float GetCol0() const
GPUd() float GetColPos(int32_t col) const
GPUd() int32_t GetPadRowNumber(double z) const
GPUd() float GetTiltingAngle() const
GPUd() float GetRowPos(int32_t row) const
GPUd() float GetRowEnd() const
GPUd() float GetColEnd() const
GLenum GLuint GLint GLint layer
Definition glcorearb.h:1310
GLdouble GLdouble GLdouble z
Definition glcorearb.h:843
constexpr int NSTACK
the number of stacks per sector
Definition Constants.h:26
std::vector< int > row