BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
BDSScreenLayer Class Reference

An individual screen layer for a multilayer screen. More...

#include <BDSScreenLayer.hh>

Collaboration diagram for BDSScreenLayer:
Collaboration graph

Public Member Functions

 BDSScreenLayer (G4ThreeVector size, G4String name, G4String material, G4double grooveWidth, G4double grooveSpatialFrequency)
 
void SetPhys (G4PVPlacement *phys)
 
void SetColour (G4Colour col)
 
void AssignSampler ()
 Make this plane a sampling plane.
 
G4int GetSamplerID () const
 
G4LogicalVolume * GetLog () const
 Accessor.
 
G4String GetName () const
 Accessor.
 
G4ThreeVector GetSize () const
 Accessor.
 
G4PVPlacement * GetPhys () const
 Accessor.
 

Protected Member Functions

 BDSScreenLayer ()
 Used in modules/AWAKE/include/BDSMultiFacetLayer.hh.
 

Protected Attributes

G4ThreeVector size
 
G4String name
 
G4LogicalVolume * log = nullptr
 
G4PVPlacement * phys = nullptr
 
G4VSolid * solid = nullptr
 

Private Member Functions

virtual void Build ()
 
void BuildGroove ()
 
virtual void BuildScreen ()
 
void SetVisAttributes ()
 
void CutGroove (G4double xPos)
 
void CutGrooves ()
 

Private Attributes

G4String material
 
G4String logName
 
G4String solidName
 
G4LogicalVolume * grooveLog = nullptr
 
G4VSolid * grooveSolid = nullptr
 
G4double grooveWidth = 0.0
 
G4double grooveSpatialFrequency = 0.0
 
G4int nGrooves = 0
 Counter for the number of grooves etched into the screen.
 
G4Colour colour
 
G4int samplerID = 0
 

Detailed Description

An individual screen layer for a multilayer screen.

Author
Lawrence Deacon

Definition at line 36 of file BDSScreenLayer.hh.

Constructor & Destructor Documentation

◆ BDSScreenLayer() [1/2]

BDSScreenLayer::BDSScreenLayer ( G4ThreeVector  size,
G4String  name,
G4String  material,
G4double  grooveWidth,
G4double  grooveSpatialFrequency 
)

Definition at line 42 of file BDSScreenLayer.cc.

◆ ~BDSScreenLayer()

virtual BDSScreenLayer::~BDSScreenLayer ( )
inlinevirtual

Definition at line 44 of file BDSScreenLayer.hh.

◆ BDSScreenLayer() [2/2]

BDSScreenLayer::BDSScreenLayer ( )
protected

Used in modules/AWAKE/include/BDSMultiFacetLayer.hh.

Definition at line 39 of file BDSScreenLayer.cc.

Member Function Documentation

◆ AssignSampler()

void BDSScreenLayer::AssignSampler ( )

Make this plane a sampling plane.

Definition at line 152 of file BDSScreenLayer.cc.

References BDSGlobalConstants::Instance(), BDSSamplerRegistry::Instance(), and BDSSamplerRegistry::RegisterSampler().

Referenced by BDSMultilayerScreen::AddScreenLayer().

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

◆ Build()

void BDSScreenLayer::Build ( )
privatevirtual

Definition at line 59 of file BDSScreenLayer.cc.

◆ BuildGroove()

void BDSScreenLayer::BuildGroove ( )
private

Definition at line 66 of file BDSScreenLayer.cc.

◆ BuildScreen()

void BDSScreenLayer::BuildScreen ( )
privatevirtual

Definition at line 81 of file BDSScreenLayer.cc.

◆ CutGroove()

void BDSScreenLayer::CutGroove ( G4double  xPos)
private

Definition at line 108 of file BDSScreenLayer.cc.

◆ CutGrooves()

void BDSScreenLayer::CutGrooves ( )
private

Definition at line 97 of file BDSScreenLayer.cc.

◆ GetLog()

G4LogicalVolume * BDSScreenLayer::GetLog ( ) const
inline

Accessor.

Definition at line 46 of file BDSScreenLayer.hh.

Referenced by BDSScreen::AddScreenLayer().

Here is the caller graph for this function:

◆ GetName()

G4String BDSScreenLayer::GetName ( ) const
inline

Accessor.

Definition at line 47 of file BDSScreenLayer.hh.

Referenced by BDSMultilayerScreen::AddScreenLayer().

Here is the caller graph for this function:

◆ GetPhys()

G4PVPlacement * BDSScreenLayer::GetPhys ( ) const
inline

Accessor.

Definition at line 49 of file BDSScreenLayer.hh.

◆ GetSamplerID()

G4int BDSScreenLayer::GetSamplerID ( ) const
inline

Definition at line 61 of file BDSScreenLayer.hh.

◆ GetSize()

G4ThreeVector BDSScreenLayer::GetSize ( ) const
inline

Accessor.

Definition at line 48 of file BDSScreenLayer.hh.

◆ SetColour()

void BDSScreenLayer::SetColour ( G4Colour  col)

Definition at line 145 of file BDSScreenLayer.cc.

◆ SetPhys()

void BDSScreenLayer::SetPhys ( G4PVPlacement *  phys)

Definition at line 138 of file BDSScreenLayer.cc.

◆ SetVisAttributes()

void BDSScreenLayer::SetVisAttributes ( )
private

Definition at line 127 of file BDSScreenLayer.cc.

Field Documentation

◆ colour

G4Colour BDSScreenLayer::colour
private

Definition at line 121 of file BDSScreenLayer.hh.

◆ grooveLog

G4LogicalVolume* BDSScreenLayer::grooveLog = nullptr
private

Definition at line 115 of file BDSScreenLayer.hh.

◆ grooveSolid

G4VSolid* BDSScreenLayer::grooveSolid = nullptr
private

Definition at line 116 of file BDSScreenLayer.hh.

◆ grooveSpatialFrequency

G4double BDSScreenLayer::grooveSpatialFrequency = 0.0
private

Definition at line 118 of file BDSScreenLayer.hh.

◆ grooveWidth

G4double BDSScreenLayer::grooveWidth = 0.0
private

Definition at line 117 of file BDSScreenLayer.hh.

◆ log

G4LogicalVolume* BDSScreenLayer::log = nullptr
protected

Definition at line 68 of file BDSScreenLayer.hh.

◆ logName

G4String BDSScreenLayer::logName
private

Definition at line 112 of file BDSScreenLayer.hh.

◆ material

G4String BDSScreenLayer::material
private

Definition at line 111 of file BDSScreenLayer.hh.

◆ name

G4String BDSScreenLayer::name
protected

Definition at line 67 of file BDSScreenLayer.hh.

◆ nGrooves

G4int BDSScreenLayer::nGrooves = 0
private

Counter for the number of grooves etched into the screen.

Definition at line 120 of file BDSScreenLayer.hh.

◆ phys

G4PVPlacement* BDSScreenLayer::phys = nullptr
protected

Definition at line 69 of file BDSScreenLayer.hh.

◆ samplerID

G4int BDSScreenLayer::samplerID = 0
private

Definition at line 122 of file BDSScreenLayer.hh.

◆ size

G4ThreeVector BDSScreenLayer::size
protected

Definition at line 66 of file BDSScreenLayer.hh.

◆ solid

G4VSolid* BDSScreenLayer::solid = nullptr
protected

Definition at line 70 of file BDSScreenLayer.hh.

◆ solidName

G4String BDSScreenLayer::solidName
private

Definition at line 113 of file BDSScreenLayer.hh.


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