19#ifndef BDSSCREENLAYER_H
20#define BDSSCREENLAYER_H
24#include "G4ThreeVector.hh"
43 G4double grooveSpatialFrequency);
46 inline G4LogicalVolume*
GetLog()
const {
return log;}
47 inline G4String
GetName()
const {
return name;}
48 inline G4ThreeVector
GetSize()
const {
return size;}
49 inline G4PVPlacement*
GetPhys()
const {
return phys;}
51 void SetPhys(G4PVPlacement* phys);
52 void SetColour(G4Colour col);
61 G4int GetSamplerID()
const {
return samplerID;}
68 G4LogicalVolume* log =
nullptr;
69 G4PVPlacement* phys =
nullptr;
70 G4VSolid* solid =
nullptr;
105 virtual void Build();
107 virtual void BuildScreen();
108 void SetVisAttributes();
109 void CutGroove(G4double xPos);
115 G4LogicalVolume* grooveLog =
nullptr;
116 G4VSolid* grooveSolid =
nullptr;
117 G4double grooveWidth = 0.0;
118 G4double grooveSpatialFrequency = 0.0;
An individual screen layer for a multilayer screen.
G4LogicalVolume * GetLog() const
Accessor.
void AssignSampler()
Make this plane a sampling plane.
G4int nGrooves
Counter for the number of grooves etched into the screen.
G4String GetName() const
Accessor.
BDSScreenLayer()
Used in modules/AWAKE/include/BDSMultiFacetLayer.hh.
G4ThreeVector GetSize() const
Accessor.
G4PVPlacement * GetPhys() const
Accessor.