11#ifndef RICH_GEO_CREATOR
12#define RICH_GEO_CREATOR
22class TGeoVolumeAssembly;
26class TGeoCompositeShape;
137 TGeoVolume*
CreateStuds(
double zpos,
double lenHalf,
double angle,
const std::string& mirrorfixing =
"both");
145 TGeoCompositeShape*
MakeSubtraction(
const std::string& name, TGeoShape* left, TGeoShape* right,
146 TGeoMatrix* lmat =
nullptr, TGeoMatrix* rmat =
nullptr);
147 TGeoCompositeShape*
MakeUnion(
const std::string& name, TGeoShape* left, TGeoShape* right, TGeoMatrix* lmat =
nullptr,
148 TGeoMatrix* rmat =
nullptr);
149 TGeoCompositeShape*
MakeIntersection(
const std::string& name, TGeoShape* left, TGeoShape* right,
150 TGeoMatrix* lmat =
nullptr, TGeoMatrix* rmat =
nullptr);
152 TGeoCombiTrans*
MakeCombiTrans(
double dx,
double dy,
double dz,
double rotX,
double rotY,
double rotZ);
153 TGeoTranslation*
MakeTrans(
double dx,
double dy,
double dz);
154 TGeoRotation*
MakeRot(
double rotX,
double rotY,
double rotZ);
void SetGeoName(const std::string &geoName)
double fPipeOuterRadiusEntrance
TGeoRotation * MakeRot(double rotX, double rotY, double rotZ)
TGeoTranslation * MakeTrans(double dx, double dy, double dz)
double fRichEntranceWidth
double fPipeThicknessEntrance
TGeoVolumeAssembly * CreateCameraContainer()
TGeoVolumeAssembly * CreateMainFrame()
TGeoCompositeShape * MakeIntersection(const std::string &name, TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=nullptr, TGeoMatrix *rmat=nullptr)
TGeoVolume * CreateSensitivePlane()
TGeoVolume * CreatePillarConnection()
TGeoVolume * CreateRichEntrance()
TGeoCompositeShape * MakeSubtraction(const std::string &name, TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=nullptr, TGeoMatrix *rmat=nullptr)
TGeoVolume * CreateStuds(double zpos, double lenHalf, double angle, const std::string &mirrorfixing="both")
TGeoCombiTrans * MakeCombiTrans(double dx, double dy, double dz, double rotX, double rotY, double rotZ)
double fPipeOuterRadiusExit
TGeoVolumeAssembly * CreateShieldingBox()
double fCameraTouchRadius
double fRichFlangeThickness
TGeoVolume * CreateCameraModule()
double fPipeThicknessExit
TGeoVolume * CreateRichExit()
void SetAddShieldingBox(bool addShildingBox)
TGeoVolumeAssembly * CreateMirrorSupportPillars()
TGeoVolume * CreatePipeCyl()
double fRichCoveringThickness
RichGeoMaterials fMaterials
TGeoVolumeAssembly * CreateMirrorFixing(const std::string &sides="both")
TGeoVolumeAssembly * CreateMirror()
TGeoVolume * CreatePipe()
TGeoVolume * CreateCameraStrip()
double fRichExitThickness
void SetVolumeColors(bool setVolumeColors)
double fRichEntranceHeight
virtual ~RichGeoCreator()
TGeoCompositeShape * MakeUnion(const std::string &name, TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=nullptr, TGeoMatrix *rmat=nullptr)
double fRichEntranceThickness
TGeoVolume * CreateRichContainer()