Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
LXeWLSSlab Class Reference

#include <Doxymodules_optical.h>

Inheritance diagram for LXeWLSSlab:
G4PVPlacement G4VPhysicalVolume

Public Member Functions

 LXeWLSSlab (G4RotationMatrix *pRot, const G4ThreeVector &tlate, G4LogicalVolume *pMotherLogical, G4bool pMany, G4int pCopyNo, LXeDetectorConstruction *c)
 

Private Member Functions

void CopyValues ()
 

Private Attributes

LXeDetectorConstructionfConstructor = nullptr
 
G4int fNfibers = 0
 
G4double fScint_x = 0.
 
G4double fScint_y = 0.
 
G4double fScint_z = 0.
 
G4double fSlab_z = 0.
 

Static Private Attributes

static G4LogicalVolumefScintSlab_log = nullptr
 

Detailed Description

Definition at line 73 of file Doxymodules_optical.h.

Constructor & Destructor Documentation

◆ LXeWLSSlab()

LXeWLSSlab::LXeWLSSlab ( G4RotationMatrix *  pRot,
const G4ThreeVector &  tlate,
G4LogicalVolume pMotherLogical,
G4bool  pMany,
G4int  pCopyNo,
LXeDetectorConstruction c 
)

Definition at line 45 of file LXeWLSSlab.cc.

48 : G4PVPlacement(pRot, tlate,
49 new G4LogicalVolume(new G4Box("temp", 1., 1., 1.),
50 G4Material::GetMaterial("Vacuum"), "temp"),
51 "Slab", pMotherLogical, pMany, pCopyNo)
52 , fConstructor(c)
53{
54 CopyValues();
55
56 G4double slab_x = fScint_x / 2.;
57 G4double slab_y = fScint_y / 2.;
58
59 auto ScintSlab_box = new G4Box("Slab", slab_x, slab_y, fSlab_z);
60
62 ScintSlab_box, G4Material::GetMaterial("Polystyrene"), "Slab");
63
64 G4double spacing = 2. * slab_y / fNfibers;
65
66 auto rm = new G4RotationMatrix();
67 rm->rotateY(90. * deg);
68
69 // Place fibers
70 for(G4int i = 0; i < fNfibers; ++i)
71 {
72 G4double Y = -(spacing) * (fNfibers - 1) * 0.5 + i * spacing;
73 new LXeWLSFiber(rm, G4ThreeVector(0., Y, 0.), fScintSlab_log, false, 0,
75 }
76
77 SetLogicalVolume(fScintSlab_log);
78}
static G4LogicalVolume * fScintSlab_log
Definition LXeWLSSlab.hh:50
G4double fScint_x
Definition LXeWLSSlab.hh:53
G4double fScint_y
Definition LXeWLSSlab.hh:54
G4int fNfibers
Definition LXeWLSSlab.hh:52
void CopyValues()
Definition LXeWLSSlab.cc:82
G4double fSlab_z
Definition LXeWLSSlab.hh:56
LXeDetectorConstruction * fConstructor
Definition LXeWLSSlab.hh:48

Member Function Documentation

◆ CopyValues()

void LXeWLSSlab::CopyValues ( )
private

Member Data Documentation

◆ fConstructor

LXeDetectorConstruction* LXeWLSSlab::fConstructor = nullptr
private

Definition at line 48 of file LXeWLSSlab.hh.

◆ fScintSlab_log

G4LogicalVolume * LXeWLSSlab::fScintSlab_log = nullptr
staticprivate

Definition at line 50 of file LXeWLSSlab.hh.

◆ fNfibers

G4int LXeWLSSlab::fNfibers = 0
private

Definition at line 52 of file LXeWLSSlab.hh.

◆ fScint_x

G4double LXeWLSSlab::fScint_x = 0.
private

Definition at line 53 of file LXeWLSSlab.hh.

◆ fScint_y

G4double LXeWLSSlab::fScint_y = 0.
private

Definition at line 54 of file LXeWLSSlab.hh.

◆ fScint_z

G4double LXeWLSSlab::fScint_z = 0.
private

Definition at line 55 of file LXeWLSSlab.hh.

◆ fSlab_z

G4double LXeWLSSlab::fSlab_z = 0.
private

Definition at line 56 of file LXeWLSSlab.hh.


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

Applications | User Support | Publications | Collaboration