HerdSoftware  0.1.1
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 _type
 
FITOptions _options
 
double trayDimensionLong
 
double trayDimensionShort
 
double nLayers
 
double nWLayers
 
std::vector< bool > _listOfWLayers
 

Private Attributes

G4Material * galacticMat
 
G4Material * trayCoreMat
 
G4Material * trayCfprMat
 
G4Material * matMat
 
G4Material * matMatCore
 
G4Material * tungstenMat
 
std::string prefix
 
std::vector< float > 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

◆ _listOfWLayers

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

◆ _options

FITOptions FitBuilder::_options
protected

◆ _type

fitType FitBuilder::_type
protected

◆ galacticMat

G4Material* FitBuilder::galacticMat
private

materials

◆ matMat

G4Material* FitBuilder::matMat
private

◆ matMatCore

G4Material* FitBuilder::matMatCore
private

◆ nLayers

double FitBuilder::nLayers
protected

◆ normPos

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

◆ nWLayers

double FitBuilder::nWLayers
protected

◆ prefix

std::string FitBuilder::prefix
private

◆ trayCfprMat

G4Material* FitBuilder::trayCfprMat
private

◆ trayCoreMat

G4Material* FitBuilder::trayCoreMat
private

◆ trayDimensionLong

double FitBuilder::trayDimensionLong
protected

◆ trayDimensionShort

double FitBuilder::trayDimensionShort
protected

◆ tungstenMat

G4Material* FitBuilder::tungstenMat
private

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