16#ifndef ALICEO2_ITS3_ITS3LAYER_H
17#define ALICEO2_ITS3_ITS3LAYER_H
19#include <TGeoCompositeShape.h>
21#include <TGeoVolume.h>
53 static constexpr std::array<std::string_view, static_cast<size_t>(
BuildLevel::kAll)>
mNames{
"PixelArray",
"Tile",
"RSU",
"Segment",
"CarbonForm",
"Chip",
"Layer"};
61 LOGP(
debug,
"Called on {} layer {}",
layer, mNLayer);
82 TGeoMedium* mSilicon{
nullptr};
83 TGeoMedium* mAir{
nullptr};
84 TGeoMedium* mCarbon{
nullptr};
85 void getMaterials(
bool create =
false);
86 TGeoMedium* getMaterial(
const char* matName,
bool create =
false);
89 void createPixelArray();
94 void createCarbonForm();
95 TGeoCompositeShape* getHringShape(TGeoTubeSeg* Hring);
96 void createLayerImpl();
104 TGeoVolume* mPixelArray{
nullptr};
105 TGeoVolumeAssembly* mTile{
nullptr};
106 TGeoVolumeAssembly* mRSU{
nullptr};
107 TGeoVolumeAssembly* mSegment{
nullptr};
108 TGeoVolumeAssembly* mChip{
nullptr};
109 TGeoVolumeAssembly* mCarbonForm{
nullptr};
110 TGeoVolumeAssembly* mLayer{
nullptr};
112 ClassDef(ITS3Layer, 2);
This class defines the Geometry for the ITS3 using TGeo.
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