HerdSoftware  0.4.0
Public Types | Public Member Functions | Protected Attributes | Private Attributes | List of all members
FitBuilder Class Reference

Builder class for side FIT. More...

#include <simulation/geometry/parametric/FitBuilder.h>

Public Types

enum  FitType { FitType::TOP, FitType::SIDE }
 

Public Member Functions

 FitBuilder (FITOptions options, FitType type)
 Constructor.
More...
 
G4LogicalVolume * Build ()
 Builds the side FIT. More...
 
G4LogicalVolume * GetFitMasterVolume ()
 
std::vector< float > NormalPositions ()
 Get the normal positions of all layers. More...
 

Protected Attributes

FitType m_type
 
FITOptions m_options
 
double m_trayDimensionX
 
double m_trayDimensionY
 
double m_layerEvenDimensionX
 
double m_layerOddDimensionX
 
double m_layerEvenDimensionY
 
double m_layerOddDimensionY
 
unsigned int m_nTrays
 
unsigned int m_nWTrays
 
std::vector< bool > m_listOfWLayers
 

Private Attributes

G4Material * m_galacticMat
 
G4Material * m_trayCoreMat
 
G4Material * m_trayCfrpMat
 
G4Material * m_matMat
 
G4Material * m_matMatCore
 
G4Material * m_tungstenMat
 
std::string m_prefix
 
std::vector< float > m_normPos
 

Detailed Description

Builder class for side FIT.

This class builds the side FIT and provides some utility methods.

Member Enumeration Documentation

◆ FitType

enum FitBuilder::FitType
strong
Enumerator
TOP 
SIDE 

Constructor & Destructor Documentation

◆ FitBuilder()

FitBuilder::FitBuilder ( FITOptions  options,
FitType  type 
)

Constructor.

Member Function Documentation

◆ Build()

G4LogicalVolume * FitBuilder::Build ( )

Builds the side FIT.

Returns
the logical volume containing the top FIT.

◆ GetFitMasterVolume()

G4LogicalVolume * FitBuilder::GetFitMasterVolume ( )

◆ NormalPositions()

std::vector<float> FitBuilder::NormalPositions ( )
inline

Get the normal positions of all layers.

Returns
the vector of layer positions along the normal

Member Data Documentation

◆ m_galacticMat

G4Material* FitBuilder::m_galacticMat
private

◆ m_layerEvenDimensionX

double FitBuilder::m_layerEvenDimensionX
protected

◆ m_layerEvenDimensionY

double FitBuilder::m_layerEvenDimensionY
protected

◆ m_layerOddDimensionX

double FitBuilder::m_layerOddDimensionX
protected

◆ m_layerOddDimensionY

double FitBuilder::m_layerOddDimensionY
protected

◆ m_listOfWLayers

std::vector<bool> FitBuilder::m_listOfWLayers
protected

◆ m_matMat

G4Material* FitBuilder::m_matMat
private

◆ m_matMatCore

G4Material* FitBuilder::m_matMatCore
private

◆ m_normPos

std::vector<float> FitBuilder::m_normPos
private

◆ m_nTrays

unsigned int FitBuilder::m_nTrays
protected

◆ m_nWTrays

unsigned int FitBuilder::m_nWTrays
protected

◆ m_options

FITOptions FitBuilder::m_options
protected

◆ m_prefix

std::string FitBuilder::m_prefix
private

◆ m_trayCfrpMat

G4Material* FitBuilder::m_trayCfrpMat
private

◆ m_trayCoreMat

G4Material* FitBuilder::m_trayCoreMat
private

◆ m_trayDimensionX

double FitBuilder::m_trayDimensionX
protected

◆ m_trayDimensionY

double FitBuilder::m_trayDimensionY
protected

◆ m_tungstenMat

G4Material* FitBuilder::m_tungstenMat
private

◆ m_type

FitType FitBuilder::m_type
protected

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