BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
create_rootgeom_Silicon_v1.C File Reference

Go to the source code of this file.

Enumerations

enum  ModuleType { RIGHT_ANGLED_MODULE , BEVEL_MODULE }

Functions

void CreateSiliconStation (TGeoVolume *mother_volume, TString station_name, Double_t x_station_pos, Double_t y_station_pos, Double_t z_station_pos)
void CreateSiliconModule (TGeoVolume *mother_volume, Int_t module_num, ModuleType module_type, Double_t x_module_pos, Double_t y_module_pos, Double_t z_module_pos, Bool_t y_module_rotated, Bool_t x_module_rotated)
void DefineRequiredMedia (FairGeoMedia *geoMedia, FairGeoBuilder *geoBuild)
void PrintInfoAboutModuleParameters ()
void create_rootgeom_Silicon_v1 ()

Variables

TGeoManager * gGeoMan = NULL
const Double_t XStationPosition = 0.0
const Double_t YStationPosition = -4.5
const Double_t ZStationPosition = 0.0
const Int_t NModules = 8
Double_t XModulesPositions [NModules]
Double_t YModulesPositions [NModules]
Double_t ZModulesPositions [NModules]
ModuleType ModulesTypes [NModules]
Bool_t ModulesYRotations [NModules]
Bool_t ModulesXRotations [NModules]
Double_t YGapBetweenPartsOfModule = 0.0035
Double_t XModuleSize = 6.3
Double_t YModuleSizeUpperPart = XModuleSize
Double_t YModuleSizeLowerPart = XModuleSize
Double_t YModuleSize = YModuleSizeUpperPart + YModuleSizeLowerPart + YGapBetweenPartsOfModule
Double_t ZModuleSize = 0.03
Double_t XBevelSize = 3.82
Double_t YBevelSize = XBevelSize
Double_t BevelAngleRad = TMath::ATan(XBevelSize / YBevelSize)
Double_t BevelAngleDeg = BevelAngleRad * TMath::RadToDeg()
Double_t XLeftBorder = 0.1
Double_t XRightBorder = 0.1
Double_t YTopBorder = 0.1
Double_t YMiddleBorderUpperPart = 0.1
Double_t YMiddleBorderLowerPart = 0.1
Double_t YBottomBorder = 0.1
Double_t XYBevelBorder = 0.1
Double_t XSensorZoneSize = XModuleSize - (XLeftBorder + XRightBorder)
Double_t YSensorZoneSizeUpperPart = YModuleSizeUpperPart - (YTopBorder + YMiddleBorderUpperPart)
Double_t YSensorZoneSizeLowerPart = YModuleSizeLowerPart - (YBottomBorder + YMiddleBorderLowerPart)
Double_t ZSensorZoneSize = ZModuleSize
Double_t XModuleFrameSize = XModuleSize
Double_t YModuleFrameSize = YModuleSize
Double_t ZModuleFrameSize = 0.18
Double_t YShiftFromCenterToAxis = (YModuleSizeUpperPart - YModuleSizeLowerPart) * 0.5
Double_t XShiftFromCenterToLocalX0 = +XModuleSize * 0.5
Double_t YShiftFromCenterToLocalY0 = +(YModuleSizeLowerPart + YGapBetweenPartsOfModule * 0.5)
TGeoMedium * pMedAir = 0
TGeoMedium * pMedCarbon = 0
TGeoMedium * pMedFiberGlass = 0
TGeoMedium * pMedCopper = 0
TGeoMedium * pMedSilicon = 0

Enumeration Type Documentation

◆ ModuleType

enum ModuleType
Enumerator
RIGHT_ANGLED_MODULE 
BEVEL_MODULE 

Definition at line 13 of file create_rootgeom_Silicon_v1.C.

Function Documentation

◆ create_rootgeom_Silicon_v1()

void create_rootgeom_Silicon_v1 ( )

Definition at line 285 of file create_rootgeom_Silicon_v1.C.

References TGeoVolume::AddNode(), TFile::Close(), CreateSiliconStation(), DefineRequiredMedia(), TGeoVolume::Draw(), gGeoMan, pMedAir, PrintInfoAboutModuleParameters(), TGeoVolume::SetMedium(), TGeoVolume::SetVisContainers(), SILICON, TObject::Write(), XStationPosition, YStationPosition, and ZStationPosition.

Here is the call graph for this function:

◆ CreateSiliconModule()

void CreateSiliconModule ( TGeoVolume * mother_volume,
Int_t module_num,
ModuleType module_type,
Double_t x_module_pos,
Double_t y_module_pos,
Double_t z_module_pos,
Bool_t y_module_rotated,
Bool_t x_module_rotated )

◆ CreateSiliconStation()

void CreateSiliconStation ( TGeoVolume * mother_volume,
TString station_name,
Double_t x_station_pos,
Double_t y_station_pos,
Double_t z_station_pos )

Definition at line 344 of file create_rootgeom_Silicon_v1.C.

References TGeoVolume::AddNode(), CreateSiliconModule(), ModulesTypes, ModulesXRotations, ModulesYRotations, NModules, pMedAir, TGeoVolume::SetMedium(), XModulesPositions, YModulesPositions, and ZModulesPositions.

Referenced by create_rootgeom_Silicon_v1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DefineRequiredMedia()

void DefineRequiredMedia ( FairGeoMedia * geoMedia,
FairGeoBuilder * geoBuild )

Definition at line 203 of file create_rootgeom_Silicon_v1.C.

References pMedAir, pMedCarbon, pMedCopper, pMedFiberGlass, and pMedSilicon.

Referenced by create_rootgeom_Silicon_v1().

Here is the caller graph for this function:

◆ PrintInfoAboutModuleParameters()

void PrintInfoAboutModuleParameters ( )

Variable Documentation

◆ BevelAngleDeg

Double_t BevelAngleDeg = BevelAngleRad * TMath::RadToDeg()

Definition at line 108 of file create_rootgeom_Silicon_v1.C.

◆ BevelAngleRad

Definition at line 107 of file create_rootgeom_Silicon_v1.C.

◆ gGeoMan

TGeoManager* gGeoMan = NULL

Definition at line 6 of file create_rootgeom_Silicon_v1.C.

◆ ModulesTypes

◆ ModulesXRotations

Bool_t ModulesXRotations[NModules]
Initial value:
= {
false,
false,
false,
false,
true,
true,
true,
true
}

Definition at line 82 of file create_rootgeom_Silicon_v1.C.

◆ ModulesYRotations

Bool_t ModulesYRotations[NModules]
Initial value:
= {
true,
true,
false,
false,
true,
true,
false,
false
}

Definition at line 70 of file create_rootgeom_Silicon_v1.C.

◆ NModules

const Int_t NModules = 8

Definition at line 20 of file create_rootgeom_Silicon_v1.C.

◆ pMedAir

TGeoMedium* pMedAir = 0

Definition at line 178 of file create_rootgeom_Silicon_v1.C.

◆ pMedCarbon

TGeoMedium* pMedCarbon = 0

Definition at line 179 of file create_rootgeom_Silicon_v1.C.

◆ pMedCopper

TGeoMedium* pMedCopper = 0

Definition at line 181 of file create_rootgeom_Silicon_v1.C.

◆ pMedFiberGlass

TGeoMedium* pMedFiberGlass = 0

Definition at line 180 of file create_rootgeom_Silicon_v1.C.

◆ pMedSilicon

TGeoMedium* pMedSilicon = 0

Definition at line 182 of file create_rootgeom_Silicon_v1.C.

◆ XBevelSize

Double_t XBevelSize = 3.82

Definition at line 104 of file create_rootgeom_Silicon_v1.C.

◆ XLeftBorder

Double_t XLeftBorder = 0.1

Definition at line 110 of file create_rootgeom_Silicon_v1.C.

◆ XModuleFrameSize

Double_t XModuleFrameSize = XModuleSize

Definition at line 127 of file create_rootgeom_Silicon_v1.C.

◆ XModuleSize

Double_t XModuleSize = 6.3

Definition at line 97 of file create_rootgeom_Silicon_v1.C.

◆ XModulesPositions

Double_t XModulesPositions[NModules]
Initial value:
= {
+12.15,
+6.15,
-6.15,
-12.15,
+12.15,
+6.15,
-6.15,
-12.15
}

Definition at line 22 of file create_rootgeom_Silicon_v1.C.

◆ XRightBorder

Double_t XRightBorder = 0.1

Definition at line 111 of file create_rootgeom_Silicon_v1.C.

◆ XSensorZoneSize

Double_t XSensorZoneSize = XModuleSize - (XLeftBorder + XRightBorder)

Definition at line 120 of file create_rootgeom_Silicon_v1.C.

◆ XShiftFromCenterToLocalX0

Double_t XShiftFromCenterToLocalX0 = +XModuleSize * 0.5

Definition at line 137 of file create_rootgeom_Silicon_v1.C.

◆ XStationPosition

const Double_t XStationPosition = 0.0

Definition at line 8 of file create_rootgeom_Silicon_v1.C.

◆ XYBevelBorder

Double_t XYBevelBorder = 0.1

Definition at line 116 of file create_rootgeom_Silicon_v1.C.

◆ YBevelSize

Double_t YBevelSize = XBevelSize

Definition at line 105 of file create_rootgeom_Silicon_v1.C.

◆ YBottomBorder

Double_t YBottomBorder = 0.1

Definition at line 115 of file create_rootgeom_Silicon_v1.C.

◆ YGapBetweenPartsOfModule

Double_t YGapBetweenPartsOfModule = 0.0035

Definition at line 95 of file create_rootgeom_Silicon_v1.C.

◆ YMiddleBorderLowerPart

Double_t YMiddleBorderLowerPart = 0.1

Definition at line 114 of file create_rootgeom_Silicon_v1.C.

◆ YMiddleBorderUpperPart

Double_t YMiddleBorderUpperPart = 0.1

Definition at line 113 of file create_rootgeom_Silicon_v1.C.

◆ YModuleFrameSize

Double_t YModuleFrameSize = YModuleSize

Definition at line 128 of file create_rootgeom_Silicon_v1.C.

◆ YModuleSize

◆ YModuleSizeLowerPart

Double_t YModuleSizeLowerPart = XModuleSize

Definition at line 99 of file create_rootgeom_Silicon_v1.C.

◆ YModuleSizeUpperPart

Double_t YModuleSizeUpperPart = XModuleSize

Definition at line 98 of file create_rootgeom_Silicon_v1.C.

◆ YModulesPositions

Double_t YModulesPositions[NModules]
Initial value:
= {
-0.15,
-0.15,
-0.15,
-0.15,
+0.15,
+0.15,
+0.15,
+0.15
}

Definition at line 34 of file create_rootgeom_Silicon_v1.C.

◆ YSensorZoneSizeLowerPart

Definition at line 122 of file create_rootgeom_Silicon_v1.C.

◆ YSensorZoneSizeUpperPart

Definition at line 121 of file create_rootgeom_Silicon_v1.C.

◆ YShiftFromCenterToAxis

Double_t YShiftFromCenterToAxis = (YModuleSizeUpperPart - YModuleSizeLowerPart) * 0.5

Definition at line 134 of file create_rootgeom_Silicon_v1.C.

◆ YShiftFromCenterToLocalY0

Double_t YShiftFromCenterToLocalY0 = +(YModuleSizeLowerPart + YGapBetweenPartsOfModule * 0.5)

Definition at line 140 of file create_rootgeom_Silicon_v1.C.

◆ YStationPosition

const Double_t YStationPosition = -4.5

Definition at line 9 of file create_rootgeom_Silicon_v1.C.

◆ YTopBorder

Double_t YTopBorder = 0.1

Definition at line 112 of file create_rootgeom_Silicon_v1.C.

◆ ZModuleFrameSize

Double_t ZModuleFrameSize = 0.18

Definition at line 130 of file create_rootgeom_Silicon_v1.C.

◆ ZModuleSize

Double_t ZModuleSize = 0.03

Definition at line 102 of file create_rootgeom_Silicon_v1.C.

◆ ZModulesPositions

Double_t ZModulesPositions[NModules]
Initial value:
= {
3.31,
1.78,
3.09,
1.56,
2.05,
3.58,
2.27,
3.80
}

Definition at line 46 of file create_rootgeom_Silicon_v1.C.

◆ ZSensorZoneSize

Double_t ZSensorZoneSize = ZModuleSize

Definition at line 123 of file create_rootgeom_Silicon_v1.C.

◆ ZStationPosition

const Double_t ZStationPosition = 0.0

Definition at line 10 of file create_rootgeom_Silicon_v1.C.