CbmRoot
Loading...
Searching...
No Matches
RichGeoCreator Class Reference

#include <RichGeoCreator.h>

Inheritance diagram for RichGeoCreator:
[legend]
Collaboration diagram for RichGeoCreator:
[legend]

Public Member Functions

 RichGeoCreator ()
 
virtual ~RichGeoCreator ()
 
void Create ()
 
void SetGeoName (const std::string &geoName)
 
void SetAddShieldingBox (bool addShildingBox)
 
void SetVolumeColors (bool setVolumeColors)
 

Private Member Functions

void CalculateParams ()
 
TGeoVolume * CreatePmt ()
 
TGeoVolume * CreateCameraModule ()
 
TGeoVolume * CreateCameraStrip ()
 
TGeoVolumeAssembly * CreateCameraContainer ()
 
TGeoVolumeAssembly * CreateMirror ()
 
TGeoVolumeAssembly * CreateMainFrame ()
 
TGeoVolume * CreateGas ()
 
TGeoVolume * CreateRichContainer ()
 
TGeoVolume * CreateSensitivePlane ()
 
TGeoVolume * CreateRichEntrance ()
 
TGeoVolume * CreateRichExit ()
 
TGeoVolume * CreatePipe ()
 
TGeoVolume * CreatePipeCyl ()
 
TGeoVolumeAssembly * CreateShieldingBox ()
 
TGeoVolumeAssembly * CreateBeltAssembly ()
 
TGeoVolumeAssembly * CreateMirrorSupportBelts ()
 
TGeoVolumeAssembly * CreateMirrorSupportPillars ()
 
TGeoVolume * CreateStuds (double zpos, double lenHalf, double angle)
 
TGeoVolume * CreatePillarConnection ()
 
void CreateRich ()
 
double ToDeg (double rad)
 
double ToRad (double deg)
 
TGeoCompositeShape * MakeSubtraction (const std::string &name, TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=nullptr, TGeoMatrix *rmat=nullptr)
 
TGeoCompositeShape * MakeUnion (const std::string &name, TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=nullptr, TGeoMatrix *rmat=nullptr)
 
TGeoCompositeShape * MakeIntersection (const std::string &name, TGeoShape *left, TGeoShape *right, TGeoMatrix *lmat=nullptr, TGeoMatrix *rmat=nullptr)
 
TGeoCombiTrans * MakeCombiTrans (double dx, double dy, double dz, double rotX, double rotY, double rotZ)
 
TGeoTranslation * MakeTrans (double dx, double dy, double dz)
 
TGeoRotation * MakeRot (double rotX, double rotY, double rotZ)
 

Private Attributes

RichGeoMaterials fMaterials
 
std::string fGeoName = "rich_v24a"
 
bool fAddShieldingBox = true
 
bool fSetVolumeColors = false
 
double fDegToRad = 1.74532925199433E-02
 
double fRichOrigZ = 180.
 
double fAccAngle = 25.
 
double fRichLength = 220.
 
double fRichHeight = 501.7
 
double fRichWidth = 600
 
double fRichCoveringThickness = 0.5
 
double fRichAddZ = 20.
 
double fRichEntranceWidth = 260.
 
double fRichEntranceHeight = 175.
 
double fRichEntranceThickness = 0.025
 
double fRichExitWidth = 569.
 
double fRichExitHeight = 384.
 
double fRichExitThickness = 1
 
double fPipeOuterRadiusEntrance = 16.4
 
double fPipeThicknessEntrance = 0.3
 
double fPipeOuterRadiusExit = 29.9
 
double fPipeThicknessExit = fPipeThicknessEntrance
 
double fPipeCylPartLen = 10.0
 
double fPipeLength = fRichLength + 0.5
 
double fMirrorRadius = 300.
 
double fMirrorThickness = 0.6
 
double fMirrorPos = 350.
 
double fMirrorRot = 12.
 
double fMirrorPhiSize = 8.425
 
double fMirrorPhiStep = 8.5
 
double fMirrorThetaSize = 8.088
 
double fMirrorThetaStep = 8.1625
 
double fMirrorThetaGap = 0.0745
 
double fMirrorSupportAdd = 4.5
 
double fMirrorGapY = 0.1
 
int fNofPixels = 8
 
double fPixelSize = 0.6
 
double fPixelSizeEdge = 0.625
 
double fPixelThickness = 0.05
 
double fPmtSize = 5.2
 
double fPmtDepth = 3.871
 
double fCameraRot = 15.
 
double fCameraShiftY = 2.5
 
double fCameraShiftZ = 5.
 
double fCameraRadius = 169.7
 
double fCameraGap = 0.1
 
double fCameraTouchWidth = 15.75
 
double fSensPlaneZ = -30.
 
double fCameraFullRotX = 0.
 
double fCameraOriginY = 0.
 
double fCameraOriginZ = 0.
 
double fMirrorOriginY = 0.
 
double fMirrorOriginZ = 0.
 
double fAlpha = 0.
 
double fCameraHeight = 0.
 
double fCameraTouchRadius = 0.
 
double fCameraSegmentAng = 0.
 

Detailed Description

Definition at line 28 of file RichGeoCreator.h.

Constructor & Destructor Documentation

◆ RichGeoCreator()

RichGeoCreator::RichGeoCreator ( )

Definition at line 35 of file RichGeoCreator.cxx.

◆ ~RichGeoCreator()

RichGeoCreator::~RichGeoCreator ( )
virtual

Definition at line 37 of file RichGeoCreator.cxx.

Member Function Documentation

◆ CalculateParams()

◆ Create()

void RichGeoCreator::Create ( )

◆ CreateBeltAssembly()

TGeoVolumeAssembly * RichGeoCreator::CreateBeltAssembly ( )
private

◆ CreateCameraContainer()

TGeoVolumeAssembly * RichGeoCreator::CreateCameraContainer ( )
private

◆ CreateCameraModule()

TGeoVolume * RichGeoCreator::CreateCameraModule ( )
private

◆ CreateCameraStrip()

TGeoVolume * RichGeoCreator::CreateCameraStrip ( )
private

◆ CreateGas()

◆ CreateMainFrame()

TGeoVolumeAssembly * RichGeoCreator::CreateMainFrame ( )
private

◆ CreateMirror()

◆ CreateMirrorSupportBelts()

◆ CreateMirrorSupportPillars()

TGeoVolumeAssembly * RichGeoCreator::CreateMirrorSupportPillars ( )
private

◆ CreatePillarConnection()

TGeoVolume * RichGeoCreator::CreatePillarConnection ( )
private

◆ CreatePipe()

TGeoVolume * RichGeoCreator::CreatePipe ( )
private

◆ CreatePipeCyl()

TGeoVolume * RichGeoCreator::CreatePipeCyl ( )
private

◆ CreatePmt()

TGeoVolume * RichGeoCreator::CreatePmt ( )
private

◆ CreateRich()

◆ CreateRichContainer()

◆ CreateRichEntrance()

TGeoVolume * RichGeoCreator::CreateRichEntrance ( )
private

◆ CreateRichExit()

TGeoVolume * RichGeoCreator::CreateRichExit ( )
private

◆ CreateSensitivePlane()

TGeoVolume * RichGeoCreator::CreateSensitivePlane ( )
private

◆ CreateShieldingBox()

TGeoVolumeAssembly * RichGeoCreator::CreateShieldingBox ( )
private

◆ CreateStuds()

TGeoVolume * RichGeoCreator::CreateStuds ( double zpos,
double lenHalf,
double angle )
private

◆ MakeCombiTrans()

TGeoCombiTrans * RichGeoCreator::MakeCombiTrans ( double dx,
double dy,
double dz,
double rotX,
double rotY,
double rotZ )
private

◆ MakeIntersection()

TGeoCompositeShape * RichGeoCreator::MakeIntersection ( const std::string & name,
TGeoShape * left,
TGeoShape * right,
TGeoMatrix * lmat = nullptr,
TGeoMatrix * rmat = nullptr )
private

Definition at line 999 of file RichGeoCreator.cxx.

Referenced by CreateShieldingBox().

◆ MakeRot()

TGeoRotation * RichGeoCreator::MakeRot ( double rotX,
double rotY,
double rotZ )
private

Definition at line 1021 of file RichGeoCreator.cxx.

Referenced by CreateMirror(), and CreateMirrorSupportBelts().

◆ MakeSubtraction()

TGeoCompositeShape * RichGeoCreator::MakeSubtraction ( const std::string & name,
TGeoShape * left,
TGeoShape * right,
TGeoMatrix * lmat = nullptr,
TGeoMatrix * rmat = nullptr )
private

◆ MakeTrans()

◆ MakeUnion()

TGeoCompositeShape * RichGeoCreator::MakeUnion ( const std::string & name,
TGeoShape * left,
TGeoShape * right,
TGeoMatrix * lmat = nullptr,
TGeoMatrix * rmat = nullptr )
private

◆ SetAddShieldingBox()

void RichGeoCreator::SetAddShieldingBox ( bool addShildingBox)
inline

Definition at line 37 of file RichGeoCreator.h.

References fAddShieldingBox.

◆ SetGeoName()

void RichGeoCreator::SetGeoName ( const std::string & geoName)
inline

Definition at line 36 of file RichGeoCreator.h.

References fGeoName.

◆ SetVolumeColors()

void RichGeoCreator::SetVolumeColors ( bool setVolumeColors)
inline

Definition at line 38 of file RichGeoCreator.h.

References fSetVolumeColors.

◆ ToDeg()

double RichGeoCreator::ToDeg ( double rad)
inlineprivate

Definition at line 138 of file RichGeoCreator.h.

References fDegToRad.

Referenced by CalculateParams().

◆ ToRad()

double RichGeoCreator::ToRad ( double deg)
inlineprivate

Definition at line 139 of file RichGeoCreator.h.

References fDegToRad.

Referenced by CalculateParams(), and CreateCameraContainer().

Member Data Documentation

◆ fAccAngle

double RichGeoCreator::fAccAngle = 25.
private

Definition at line 50 of file RichGeoCreator.h.

Referenced by CalculateParams().

◆ fAddShieldingBox

bool RichGeoCreator::fAddShieldingBox = true
private

Definition at line 44 of file RichGeoCreator.h.

Referenced by CreateRich(), and SetAddShieldingBox().

◆ fAlpha

double RichGeoCreator::fAlpha = 0.
private

Definition at line 109 of file RichGeoCreator.h.

Referenced by CalculateParams(), CreateMirror(), and CreateMirrorSupportBelts().

◆ fCameraFullRotX

double RichGeoCreator::fCameraFullRotX = 0.
private

Definition at line 104 of file RichGeoCreator.h.

Referenced by CalculateParams(), CreateMainFrame(), and CreateRich().

◆ fCameraGap

double RichGeoCreator::fCameraGap = 0.1
private

Definition at line 97 of file RichGeoCreator.h.

Referenced by CalculateParams(), CreateCameraModule(), and CreateCameraStrip().

◆ fCameraHeight

double RichGeoCreator::fCameraHeight = 0.
private

Definition at line 110 of file RichGeoCreator.h.

Referenced by CalculateParams().

◆ fCameraOriginY

double RichGeoCreator::fCameraOriginY = 0.
private

Definition at line 105 of file RichGeoCreator.h.

Referenced by CalculateParams(), and CreateRich().

◆ fCameraOriginZ

double RichGeoCreator::fCameraOriginZ = 0.
private

Definition at line 106 of file RichGeoCreator.h.

Referenced by CalculateParams(), and CreateRich().

◆ fCameraRadius

double RichGeoCreator::fCameraRadius = 169.7
private

Definition at line 96 of file RichGeoCreator.h.

Referenced by CalculateParams(), and CreateCameraContainer().

◆ fCameraRot

double RichGeoCreator::fCameraRot = 15.
private

Definition at line 93 of file RichGeoCreator.h.

Referenced by CalculateParams().

◆ fCameraSegmentAng

double RichGeoCreator::fCameraSegmentAng = 0.
private

Definition at line 112 of file RichGeoCreator.h.

Referenced by CalculateParams(), and CreateCameraContainer().

◆ fCameraShiftY

double RichGeoCreator::fCameraShiftY = 2.5
private

Definition at line 94 of file RichGeoCreator.h.

Referenced by CreateRich().

◆ fCameraShiftZ

double RichGeoCreator::fCameraShiftZ = 5.
private

Definition at line 95 of file RichGeoCreator.h.

Referenced by CreateRich().

◆ fCameraTouchRadius

double RichGeoCreator::fCameraTouchRadius = 0.
private

Definition at line 111 of file RichGeoCreator.h.

Referenced by CalculateParams().

◆ fCameraTouchWidth

double RichGeoCreator::fCameraTouchWidth = 15.75
private

Definition at line 98 of file RichGeoCreator.h.

Referenced by CalculateParams(), and CreateCameraStrip().

◆ fDegToRad

double RichGeoCreator::fDegToRad = 1.74532925199433E-02
private

Definition at line 48 of file RichGeoCreator.h.

Referenced by ToDeg(), and ToRad().

◆ fGeoName

std::string RichGeoCreator::fGeoName = "rich_v24a"
private

Definition at line 43 of file RichGeoCreator.h.

Referenced by Create(), CreateRich(), and SetGeoName().

◆ fMaterials

◆ fMirrorGapY

double RichGeoCreator::fMirrorGapY = 0.1
private

Definition at line 84 of file RichGeoCreator.h.

Referenced by CreateRich().

◆ fMirrorOriginY

double RichGeoCreator::fMirrorOriginY = 0.
private

◆ fMirrorOriginZ

double RichGeoCreator::fMirrorOriginZ = 0.
private

Definition at line 108 of file RichGeoCreator.h.

Referenced by CalculateParams(), and CreateRich().

◆ fMirrorPhiSize

double RichGeoCreator::fMirrorPhiSize = 8.425
private

Definition at line 78 of file RichGeoCreator.h.

Referenced by CreateMirror(), and CreateMirrorSupportBelts().

◆ fMirrorPhiStep

double RichGeoCreator::fMirrorPhiStep = 8.5
private

Definition at line 79 of file RichGeoCreator.h.

Referenced by CreateMirror(), and CreateMirrorSupportBelts().

◆ fMirrorPos

double RichGeoCreator::fMirrorPos = 350.
private

Definition at line 76 of file RichGeoCreator.h.

Referenced by CalculateParams().

◆ fMirrorRadius

double RichGeoCreator::fMirrorRadius = 300.
private

Definition at line 74 of file RichGeoCreator.h.

Referenced by CalculateParams(), CreateMirror(), and CreateMirrorSupportBelts().

◆ fMirrorRot

double RichGeoCreator::fMirrorRot = 12.
private

Definition at line 77 of file RichGeoCreator.h.

Referenced by CalculateParams(), CreateMirror(), and CreateMirrorSupportBelts().

◆ fMirrorSupportAdd

double RichGeoCreator::fMirrorSupportAdd = 4.5
private

Definition at line 83 of file RichGeoCreator.h.

Referenced by CreateMirrorSupportBelts().

◆ fMirrorThetaGap

double RichGeoCreator::fMirrorThetaGap = 0.0745
private

Definition at line 82 of file RichGeoCreator.h.

Referenced by CreateMirror(), and CreateMirrorSupportBelts().

◆ fMirrorThetaSize

double RichGeoCreator::fMirrorThetaSize = 8.088
private

Definition at line 80 of file RichGeoCreator.h.

Referenced by CreateMirrorSupportBelts().

◆ fMirrorThetaStep

double RichGeoCreator::fMirrorThetaStep = 8.1625
private

Definition at line 81 of file RichGeoCreator.h.

◆ fMirrorThickness

double RichGeoCreator::fMirrorThickness = 0.6
private

Definition at line 75 of file RichGeoCreator.h.

Referenced by CreateMirror(), and CreateMirrorSupportBelts().

◆ fNofPixels

int RichGeoCreator::fNofPixels = 8
private

Definition at line 87 of file RichGeoCreator.h.

Referenced by CreatePmt().

◆ fPipeCylPartLen

double RichGeoCreator::fPipeCylPartLen = 10.0
private

Definition at line 70 of file RichGeoCreator.h.

Referenced by CreatePipeCyl().

◆ fPipeLength

double RichGeoCreator::fPipeLength = fRichLength + 0.5
private

Definition at line 71 of file RichGeoCreator.h.

Referenced by CreateGas(), CreatePipe(), and CreateRichContainer().

◆ fPipeOuterRadiusEntrance

double RichGeoCreator::fPipeOuterRadiusEntrance = 16.4
private

◆ fPipeOuterRadiusExit

double RichGeoCreator::fPipeOuterRadiusExit = 29.9
private

◆ fPipeThicknessEntrance

double RichGeoCreator::fPipeThicknessEntrance = 0.3
private

Definition at line 67 of file RichGeoCreator.h.

Referenced by CreatePipe(), CreatePipeCyl(), and CreateRichContainer().

◆ fPipeThicknessExit

double RichGeoCreator::fPipeThicknessExit = fPipeThicknessEntrance
private

Definition at line 69 of file RichGeoCreator.h.

Referenced by CreatePipe(), and CreateRichContainer().

◆ fPixelSize

double RichGeoCreator::fPixelSize = 0.6
private

Definition at line 88 of file RichGeoCreator.h.

Referenced by CreatePmt().

◆ fPixelSizeEdge

double RichGeoCreator::fPixelSizeEdge = 0.625
private

Definition at line 89 of file RichGeoCreator.h.

Referenced by CreatePmt().

◆ fPixelThickness

double RichGeoCreator::fPixelThickness = 0.05
private

Definition at line 90 of file RichGeoCreator.h.

Referenced by CreatePmt().

◆ fPmtDepth

double RichGeoCreator::fPmtDepth = 3.871
private

◆ fPmtSize

double RichGeoCreator::fPmtSize = 5.2
private

Definition at line 91 of file RichGeoCreator.h.

Referenced by CalculateParams(), CreateCameraModule(), CreateCameraStrip(), and CreatePmt().

◆ fRichAddZ

double RichGeoCreator::fRichAddZ = 20.
private

Definition at line 55 of file RichGeoCreator.h.

Referenced by CreateGas(), and CreateRichContainer().

◆ fRichCoveringThickness

double RichGeoCreator::fRichCoveringThickness = 0.5
private

Definition at line 54 of file RichGeoCreator.h.

Referenced by CreateGas(), and CreateMainFrame().

◆ fRichEntranceHeight

double RichGeoCreator::fRichEntranceHeight = 175.
private

Definition at line 59 of file RichGeoCreator.h.

Referenced by CreateGas(), CreateRichContainer(), and CreateRichEntrance().

◆ fRichEntranceThickness

double RichGeoCreator::fRichEntranceThickness = 0.025
private

Definition at line 60 of file RichGeoCreator.h.

Referenced by CreateGas(), CreateRich(), CreateRichEntrance(), and CreateSensitivePlane().

◆ fRichEntranceWidth

double RichGeoCreator::fRichEntranceWidth = 260.
private

Definition at line 58 of file RichGeoCreator.h.

Referenced by CreateRichEntrance().

◆ fRichExitHeight

double RichGeoCreator::fRichExitHeight = 384.
private

Definition at line 62 of file RichGeoCreator.h.

Referenced by CreateRichExit().

◆ fRichExitThickness

double RichGeoCreator::fRichExitThickness = 1
private

Definition at line 63 of file RichGeoCreator.h.

Referenced by CreateGas(), CreateRich(), CreateRichExit(), and CreateSensitivePlane().

◆ fRichExitWidth

double RichGeoCreator::fRichExitWidth = 569.
private

Definition at line 61 of file RichGeoCreator.h.

Referenced by CreateRichExit().

◆ fRichHeight

double RichGeoCreator::fRichHeight = 501.7
private

◆ fRichLength

double RichGeoCreator::fRichLength = 220.
private

◆ fRichOrigZ

double RichGeoCreator::fRichOrigZ = 180.
private

Definition at line 49 of file RichGeoCreator.h.

Referenced by CreateRich().

◆ fRichWidth

double RichGeoCreator::fRichWidth = 600
private

◆ fSensPlaneZ

double RichGeoCreator::fSensPlaneZ = -30.
private

Definition at line 101 of file RichGeoCreator.h.

Referenced by CreateRich(), and CreateSensitivePlane().

◆ fSetVolumeColors

bool RichGeoCreator::fSetVolumeColors = false
private

Definition at line 45 of file RichGeoCreator.h.

Referenced by SetVolumeColors().


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