Project
Loading...
Searching...
No Matches
o2::trd::GeometryFlat Class Reference

#include <GeometryFlat.h>

Inherits o2::gpu::FlatObject, and o2::trd::GeometryBase.

Inherited by o2::gpu::GPUTRDGeometry [private].

Public Member Functions

 GeometryFlat ()=default
 
 GeometryFlat (const GeometryFlat &v)
 
 GeometryFlat (const Geometry &geo)
 
 ~GeometryFlat ()=default
 
- Public Member Functions inherited from o2::gpu::FlatObject
 FlatObject ()=default
 _____________ Constructors / destructors __________________________
 
 ~FlatObject ()
 
 FlatObject (const FlatObject &)=delete
 
FlatObjectoperator= (const FlatObject &)=delete
 
void destroy ()
 _______________ Utilities _______________________________________________
 
size_t getFlatBufferSize () const
 Gives size of the flat buffer.
 
const chargetFlatBufferPtr () const
 Gives pointer to the flat buffer.
 
bool isConstructed () const
 Tells if the object is constructed.
 
bool isBufferInternal () const
 Tells if the buffer is internal.
 
void adoptInternalBuffer (char *buf)
 
void clearInternalBufferPtr ()
 
void printC () const
 Print the content of the flat buffer.
 
- Public Member Functions inherited from o2::trd::GeometryBase
 ~GeometryBase ()=default
 
 GPUd () int isVersion()
 
 GPUd () bool isHole(int la
 
 GPUd () bool isOnBoundary(int det
 
 GPUd () void setSMstatus(int sm
 
 GPUd () const PadPlane *getPadPlane(int layer
 
 GPUd () const PadPlane *getPadPlane(int det) const
 
 GPUd () int getRowMax(int layer
 
 GPUd () int getColMax(int layer) const
 
 GPUd () float getRow0(int layer
 
 GPUd () float getCol0(int layer) const
 
 GPUd () float getRowPos(int layer
 
 GPUd () float getRowSize(int layer
 
 GPUd () float getRow0(int layer
 
 GPUd () float getRowEnd(int layer
 

Public Attributes

GPUd() const o2 short mMatrixIndirection [constants::MAXCHAMBER]
 
- Public Attributes inherited from o2::trd::GeometryBase
int st
 
int int se const { return (((se == 13) || (se == 14) || (se == 15)) && (st == 2))
 
float y
 
float float z
 
float float float eps = 0.5) const
 
bool status
 
int stack const { return &mPadPlanes[getDetectorSec(layer, stack)]
 
int stack { return mPadPlanes[getDetectorSec(layer, stack)].getRow0()
 
int int const { return getPadPlane(layer, stack)->getNrows()
 
int int row { return mPadPlanes[getDetectorSec(layer, stack)].getRowPos(row)
 
static constexpr int stack { return CLENGTH[layer][stack]
 

Additional Inherited Members

- Static Public Member Functions inherited from o2::gpu::FlatObject
static size_t alignSize (size_t sizeBytes, size_t alignmentBytes)
 _______________ Generic utilities _______________________________________________
 
template<class T >
static T * relocatePointer (const char *oldBase, char *newBase, const T *ptr)
 Relocates a pointer inside a buffer to the new buffer address.
 
template<class T , class TFile >
static int32_t writeToFile (T &obj, TFile &outf, const char *name)
 write a child class object to the file
 
template<class T , class TFile >
static T * readFromFile (TFile &inpf, const char *name)
 read a child class object from the file
 
template<class T >
static std::string stressTest (T &obj)
 Test the flat object functionality for a child class T.
 
- Static Public Member Functions inherited from o2::trd::GeometryBase
static constexpr GPUd () int getSector(int det)
 
static constexpr GPUd () float getTime0(int layer)
 
static constexpr GPUd () float getXtrdBeg()
 
static constexpr GPUd () float getXtrdEnd()
 
static constexpr GPUd () float getChamberWidth(int layer)
 
static constexpr GPUd () float getChamberLength(int layer
 
static constexpr GPUd () float getAlpha()
 
static constexpr GPUd () float cheight()
 
static constexpr GPUd () float cheightSV()
 
static constexpr GPUd () float cspace()
 
static constexpr GPUd () float craHght()
 
static constexpr GPUd () float cdrHght()
 
static constexpr GPUd () float camHght()
 
static constexpr GPUd () float croHght()
 
static constexpr GPUd () float csvHght()
 
static constexpr GPUd () float croWid()
 
static constexpr GPUd () float anodePos()
 
static constexpr GPUd () float myThick()
 
static constexpr GPUd () float drThick()
 
static constexpr GPUd () float amThick()
 
static constexpr GPUd () float drZpos()
 
static constexpr GPUd () float rpadW()
 
static constexpr GPUd () float cpadW()
 
static constexpr GPUd () float cwidcha()
 
static constexpr GPUd () int MCMmax()
 
static constexpr GPUd () int MCMrow()
 
static constexpr GPUd () int ROBmaxC0()
 
static constexpr GPUd () int ROBmaxC1()
 
static constexpr GPUd () int ADCmax()
 
static constexpr GPUd () int TBmax()
 
static constexpr GPUd () int padmax()
 
static constexpr GPUd () int colmax()
 
static constexpr GPUd () int rowmaxC0()
 
static constexpr GPUd () int rowmaxC1()
 
- Protected Types inherited from o2::gpu::FlatObject
enum  ConstructionState : uint32_t { NotConstructed = 0x0 , Constructed = 0x1 , InProgress = 0x2 }
 GPUCA_GPUCODE. More...
 
- Protected Member Functions inherited from o2::gpu::FlatObject
void startConstruction ()
 _____________ Construction _________
 
void finishConstruction (int32_t flatBufferSize)
 
void cloneFromObject (const FlatObject &obj, char *newFlatBufferPtr)
 
charreleaseInternalBuffer ()
 _____________ Methods for making the data buffer external __________________________
 
void moveBufferTo (char *newBufferPtr)
 
void setActualBufferAddress (char *actualFlatBufferPtr)
 _____________ Methods for moving the class with its external buffer to another location __________________________
 
void setFutureBufferAddress (char *futureFlatBufferPtr)
 
 ClassDefNV (FlatObject, 1)
 Pointer to the flat buffer.
 
- Protected Member Functions inherited from o2::trd::GeometryBase
 GeometryBase ()=default
 
 ClassDefNV (GeometryBase, 1)
 
- Static Protected Member Functions inherited from o2::gpu::FlatObject
static constexpr size_t getClassAlignmentBytes ()
 _____________ Memory alignment __________________________
 
static constexpr size_t getBufferAlignmentBytes ()
 Gives minimal alignment in bytes required for the flat buffer.
 
- Protected Attributes inherited from o2::gpu::FlatObject
int32_t mFlatBufferSize = 0
 size of the flat buffer
 
uint32_t mConstructionMask = ConstructionState::NotConstructed
 mask for constructed object members, first two bytes are used by this class
 
charmFlatBufferContainer = nullptr
 
charmFlatBufferPtr = nullptr
 
- Protected Attributes inherited from o2::trd::GeometryBase
PadPlane mPadPlanes [constants::NLAYER *constants::NSTACK]
 
int mSMStatus = 0x3ffff
 
- Static Protected Attributes inherited from o2::trd::GeometryBase
static constexpr float TLENGTH = 751.0
 Total length of the TRD mother volume.
 
static constexpr float SHEIGHT = 77.9
 Height of the supermodule.
 
static constexpr float SWIDTH1 = 94.881
 Lower width of the supermodule.
 
static constexpr float SWIDTH2 = 122.353
 Upper width of the supermodule.
 
static constexpr float SLENGTH = 702.0
 Length of the supermodule.
 
static constexpr float FLENGTH = (TLENGTH - SLENGTH) / 2.0
 
static constexpr float SMPLTT = 0.2
 Thickness of the super module side plates.
 
static constexpr float VSPACE = 1.784
 Vertical spacing of the chambers.
 
static constexpr float HSPACE = 2.0
 Horizontal spacing of the chambers.
 
static constexpr float VROCSM = 1.2
 Radial distance of the first ROC to the outer plates of the SM.
 
static constexpr float CRAH = 4.8
 Height of the radiator part of the chambers.
 
static constexpr float CDRH = 3.0
 Height of the drift region of the chambers.
 
static constexpr float CAMH = 0.7
 Height of the amplification region of the chambers.
 
static constexpr float CROH = 2.316
 Height of the readout of the chambers.
 
static constexpr float CROW = 0.9
 Additional width of the readout chamber frames.
 
static constexpr float CSVH = VSPACE - 0.742
 Height of the services on top of the chambers.
 
static constexpr float CH = CRAH + CDRH + CAMH + CROH
 Total height of the chambers (w/o services)
 
static constexpr float CHSV = CH + CSVH
 Total height of the chambers (with services)
 
static constexpr float ANODEPOS = CRAH + CDRH + CAMH / 2.0 - CHSV / 2.0
 
static constexpr float CALT = 0.4
 Thicknesses of different parts of the chamber frame Lower aluminum frame.
 
static constexpr float CCLST = 0.21
 Thickness of the lower Wacosit frame sides.
 
static constexpr float CCLFT = 1.0
 Thickness of the lower Wacosit frame front.
 
static constexpr float CGLT = 0.25
 Thichness of the glue around the radiator.
 
static constexpr float CCUTA = 1.0
 Upper Wacosit frame around amplification region.
 
static constexpr float CCUTB = 0.8
 Thickness of the upper Wacosit frame around amp. region.
 
static constexpr float CAUT = 1.5
 Al frame of back panel.
 
static constexpr float CALW = 2.5
 Width of additional aluminum ledge on lower frame.
 
static constexpr float CALH = 0.4
 Height of additional aluminum ledge on lower frame.
 
static constexpr float CALWMOD = 0.4
 Width of additional aluminum ledge on lower frame.
 
static constexpr float CALHMOD = 2.5
 Height of additional aluminum ledge on lower frame.
 
static constexpr float CWSW = 1.2
 Width of additional wacosit ledge on lower frame.
 
static constexpr float CWSH = 0.3
 Height of additional wacosit ledge on lower frame.
 
static constexpr float CPADW = 0.0
 
static constexpr float RPADW = 1.0
 >Difference of outer chamber width and pad plane width
 
static constexpr float DRTHICK = CDRH
 Thickness of the drift region.
 
static constexpr float AMTHICK = CAMH
 Thickness of the amplification region.
 
static constexpr float XETHICK = DRTHICK + AMTHICK
 Thickness of the gas volume.
 
static constexpr float WRTHICK = 0.00011
 Thickness of the wire planes.
 
static constexpr float RMYTHICK = 0.0015
 Thickness of the mylar layers in the radiator.
 
static constexpr float RCBTHICK = 0.0055
 Thickness of the carbon layers in the radiator.
 
static constexpr float RGLTHICK = 0.0065
 Thickness of the glue layers in the radiator.
 
static constexpr float RRHTHICK = 0.8
 Thickness of the rohacell layers in the radiator.
 
static constexpr float RFBTHICK = CRAH - 2.0 * (RMYTHICK + RCBTHICK + RRHTHICK)
 Thickness of the fiber layers in the radiator.
 
static constexpr float PPDTHICK = 0.0025
 Thickness of copper of the pad plane.
 
static constexpr float PPPTHICK = 0.0356
 Thickness of PCB board of the pad plane.
 
static constexpr float PGLTHICK = 0.1428
 Thickness of the glue layer.
 
static constexpr float PCBTHICK = 0.019
 Thickness of the carbon layers.
 
static constexpr float PPCTHICK = 0.0486
 Thickness of the PCB readout boards.
 
static constexpr float PRBTHICK = 0.0057
 Thickness of the PCB copper layers.
 
static constexpr float PELTHICK = 0.0029
 Thickness of all other electronics components (caps, etc.)
 
static constexpr float PHCTHICK = CROH - PPDTHICK - PPPTHICK - PGLTHICK - PCBTHICK * 2.0 - PPCTHICK - PRBTHICK - PELTHICK
 Thickness of the honeycomb support structure.
 
static constexpr float DRZPOS = 2.4
 Position of the drift region.
 
static constexpr float AMZPOS = 0.0
 Position of the amplification region.
 
static constexpr float WRZPOSA = 0.0
 Position of the wire planes.
 
static constexpr float WRZPOSB = -AMTHICK / 2.0 + 0.001
 Position of the wire planes.
 
static constexpr float CALZPOS = 0.3
 Position of the additional aluminum ledges.
 
static constexpr int MCMMAX = 16
 Maximum number of MCMs per ROB.
 
static constexpr int MCMROW = 4
 Maximum number of MCMs per ROB Row.
 
static constexpr int ROBMAXC0 = 6
 Maximum number of ROBs per C0 chamber.
 
static constexpr int ROBMAXC1 = 8
 Maximum number of ROBs per C1 chamber.
 
static constexpr int ADCMAX = 21
 Maximum number of ADC channels per MCM.
 
static constexpr int TBMAX = 60
 Maximum number of Time bins.
 
static constexpr int PADMAX = 18
 Maximum number of pads per MCM.
 
static constexpr int COLMAX = 144
 Maximum number of pads per padplane row.
 
static constexpr int ROWMAXC0 = 12
 Maximum number of Rows per C0 chamber.
 
static constexpr int ROWMAXC1 = 16
 Maximum number of Rows per C1 chamber.
 
static constexpr float TIME0BASE = 300.65
 Base value for calculation of Time-position of pad 0.
 
static constexpr float TIME0 [6]
 
static constexpr float XTRDBEG = 288.43
 X-coordinate in tracking system of begin of TRD mother volume.
 
static constexpr float XTRDEND = 366.33
 X-coordinate in tracking system of end of TRD mother volume.
 
static constexpr float CWIDTH [constants::NLAYER] = {90.4, 94.8, 99.3, 103.7, 108.1, 112.6}
 
static constexpr float CLENGTH [constants::NLAYER][constants::NSTACK]
 

Detailed Description

Definition at line 34 of file GeometryFlat.h.

Constructor & Destructor Documentation

◆ GeometryFlat() [1/3]

o2::trd::GeometryFlat::GeometryFlat ( )
default

◆ GeometryFlat() [2/3]

o2::trd::GeometryFlat::GeometryFlat ( const GeometryFlat v)
inline

Definition at line 39 of file GeometryFlat.h.

◆ GeometryFlat() [3/3]

GeometryFlat::GeometryFlat ( const Geometry geo)

Definition at line 19 of file GeometryFlat.cxx.

◆ ~GeometryFlat()

o2::trd::GeometryFlat::~GeometryFlat ( )
default

Member Data Documentation

◆ mMatrixIndirection

GPUd () const o2 short o2::trd::GeometryFlat::mMatrixIndirection[constants::MAXCHAMBER]

Definition at line 62 of file GeometryFlat.h.


The documentation for this class was generated from the following files: