BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
BDSLaserwireBuilder.cc
1/*
2Beam Delivery Simulation (BDSIM) Copyright (C) BDSIM Collaboration, 2001 - 2026.
3
4This file is part of BDSIM.
5
6BDSIM is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published
8by the Free Software Foundation version 3 of the License.
9
10BDSIM is distributed in the hope that it will be useful, but
11WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#include "BDSLaserwireBuilder.hh"
20
21BDSLaserwireBuilder::BDSLaserwireBuilder(G4String nameIn,
22 G4double lengthIn,
23 G4double horizontalWidthIn,
24 G4double laserOffsetThetaIn,
25 G4double laserOffsetPhiIn,
26 G4ThreeVector laserOffsetIn,
27 BDSLaser* laserIn):
28 BDSAcceleratorComponent(nameIn, lengthIn, 0, "laserwire"),
29 horizontalWidth(horizontalWidthIn),
30 laserOffsetTheta(laserOffsetThetaIn),
31 laserOffsetPhi(laserOffsetPhiIn),
32 laserOffset(laserOffsetIn),
33 laser(laserIn)
34{;}
35
36BDSLaserwireBuilder::~BDSLaserwireBuilder()
37{;}
38
40{
41 // need a bunch of if and errors
42 containerSolid = new G4Tubs(name+"_container_solid",
43 0,
44 horizontalWidth,
45 1.0,
46 0,
47 2.0*CLHEP::pi);
48
49 containerLogicalVolume = new G4LogicalVolume(containerSolid,
51 name+"_container_lv");
52}
53
55{
57
58 /*G4Tubs* laserwire = new G4Tubs(name+"_laserwire_solid",
59 0,
60 laser->GetRadius(),
61 laser->GetLaserFocus(),
62 0,
63 2.0*CLHEP::pi);
64 */
65}
Abstract class that represents a component of an accelerator.
const G4String name
Const protected member variable that may not be changed by derived classes.
static G4Material * emptyMaterial
Useful variable often used in construction.
Class to provide laser intensity at any point.
Definition BDSLaser.hh:35
virtual void BuildContainerLogicalVolume()