16#ifndef ALICEO2_ITS3_ITS3LAYER_H
17#define ALICEO2_ITS3_ITS3LAYER_H
19#include <TGeoCompositeShape.h>
21#include <TGeoVolume.h>
52 static constexpr std::array<std::string_view, static_cast<size_t>(
BuildLevel::kAll)>
mNames{
"PixelArray",
"Tile",
"RSU",
"Segment",
"CarbonForm",
"Chip",
"Layer"};
59 mR(
o2::its3::constants::radii[mNLayer]),
60 mRmin(
o2::its3::constants::radiiInner[mNLayer]),
61 mRmax(
o2::its3::constants::radiiOuter[mNLayer]) {}
80 TGeoMedium* mSilicon{
nullptr};
81 TGeoMedium* mAir{
nullptr};
82 TGeoMedium* mCarbon{
nullptr};
83 TGeoMedium* mCopper{
nullptr};
84 void getMaterials(
bool create =
false);
85 TGeoMedium* getMaterial(
const char* matName,
bool create =
false);
88 void createPixelArray();
93 void createCarbonForm();
94 TGeoCompositeShape* getHringShape(TGeoTubeSeg* Hring);
95 void createLayerImpl();
105 TGeoVolume* mPixelArray{
nullptr};
106 TGeoVolumeAssembly* mTile{
nullptr};
107 TGeoVolumeAssembly* mRSU{
nullptr};
108 TGeoVolumeAssembly* mSegment{
nullptr};
109 TGeoVolumeAssembly* mChip{
nullptr};
110 TGeoVolumeAssembly* mCarbonForm{
nullptr};
111 TGeoVolumeAssembly* mLayer{
nullptr};
113 ClassDef(ITS3Layer, 3);
This class defines the geometry for the ITS3 IB layers.
ITS3Layer(int layer, TGeoVolume *motherVolume, TGeoMatrix *mat=nullptr, BuildLevel level=BuildLevel::kAll, bool createMaterials=false)
static std::string_view getName(BuildLevel b)
ITS3Layer(TGeoVolume *motherVolume, int layer=0)
static constexpr std::array< std::string_view, static_cast< size_t >(BuildLevel::kAll)> mNames
void createLayer(TGeoVolume *motherVolume)
void buildPartial(TGeoVolume *motherVolume, TGeoMatrix *mat=nullptr, BuildLevel level=BuildLevel::kAll, bool createMaterials=false)
GLboolean GLboolean GLboolean b
GLenum GLuint GLint GLint layer
uint8_t itsSharedClusterMap uint8_t
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...