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

Holder for all information required to create a crystal. More...

#include <BDSCrystalInfo.hh>

Collaboration diagram for BDSCrystalInfo:
Collaboration graph

Public Member Functions

 BDSCrystalInfo ()=delete
 No default constuctor.
 
 BDSCrystalInfo (G4Material *materialIn, const G4String &dataIn, BDSCrystalType crystalTypeIn, G4double lengthXIn, G4double lengthYIn, G4double lengthZIn, G4double sizeAIn, G4double sizeBIn, G4double sizeCIn, G4double alphaIn, G4double betaIn, G4double gammaIn, G4int spaceGroupIn, G4double bendingAngleYAxisIn=0, G4double bendingAngleZAxisIn=0, G4double miscutAngleY=0)
 Constructor to assign all members at once.
 
G4double BendingRadiusHorizontal () const
 
G4double BendingRadiusVertical () const
 

Data Fields

G4Material * material
 Material.
 
G4String data
 Potential data path.
 
BDSCrystalType shape
 Shape of geometry.
 
G4double lengthX
 X dimension.
 
G4double lengthY
 Y dimension.
 
G4double lengthZ
 Z dimension.
 
G4double sizeA
 
G4double sizeB
 
G4double sizeC
 
G4double alpha
 
G4double beta
 
G4double gamma
 
G4int spaceGroup
 
G4double bendingAngleYAxis
 Bending angle about Y axis.
 
G4double bendingAngleZAxis
 Bending angle about Z axis.
 
G4double miscutAngleY
 

Private Member Functions

G4double BendingRadius (G4double length, G4double angle) const
 

Detailed Description

Holder for all information required to create a crystal.

Geant4 units are assumed by classes that use instances of this class. This reduces the number of argument to constructors plus aggregates common tasks in the component factory.

Note, compiler provided copy constructor is sufficient as only pointers to materials owned by BDSMaterials are kept - shallow copy is required then.

Author
Laurie Nevay

Definition at line 42 of file BDSCrystalInfo.hh.

Constructor & Destructor Documentation

◆ BDSCrystalInfo()

BDSCrystalInfo::BDSCrystalInfo ( G4Material *  materialIn,
const G4String &  dataIn,
BDSCrystalType  crystalTypeIn,
G4double  lengthXIn,
G4double  lengthYIn,
G4double  lengthZIn,
G4double  sizeAIn,
G4double  sizeBIn,
G4double  sizeCIn,
G4double  alphaIn,
G4double  betaIn,
G4double  gammaIn,
G4int  spaceGroupIn,
G4double  bendingAngleYAxisIn = 0,
G4double  bendingAngleZAxisIn = 0,
G4double  miscutAngleY = 0 
)

Constructor to assign all members at once.

Definition at line 27 of file BDSCrystalInfo.cc.

Member Function Documentation

◆ BendingRadius()

G4double BDSCrystalInfo::BendingRadius ( G4double  length,
G4double  angle 
) const
private

Definition at line 61 of file BDSCrystalInfo.cc.

◆ BendingRadiusHorizontal()

G4double BDSCrystalInfo::BendingRadiusHorizontal ( ) const
inline

Definition at line 83 of file BDSCrystalInfo.hh.

◆ BendingRadiusVertical()

G4double BDSCrystalInfo::BendingRadiusVertical ( ) const
inline

Definition at line 84 of file BDSCrystalInfo.hh.

Field Documentation

◆ alpha

G4double BDSCrystalInfo::alpha

Definition at line 75 of file BDSCrystalInfo.hh.

◆ bendingAngleYAxis

G4double BDSCrystalInfo::bendingAngleYAxis

◆ bendingAngleZAxis

G4double BDSCrystalInfo::bendingAngleZAxis

Bending angle about Z axis.

Definition at line 80 of file BDSCrystalInfo.hh.

Referenced by BDSCrystalFactory::CreateCrystalTorus().

◆ beta

G4double BDSCrystalInfo::beta

Definition at line 76 of file BDSCrystalInfo.hh.

◆ data

G4String BDSCrystalInfo::data

Potential data path.

Definition at line 67 of file BDSCrystalInfo.hh.

Referenced by BDSCrystalFactory::CommonConstruction().

◆ gamma

G4double BDSCrystalInfo::gamma

Definition at line 77 of file BDSCrystalInfo.hh.

◆ lengthX

G4double BDSCrystalInfo::lengthX

◆ lengthY

G4double BDSCrystalInfo::lengthY

◆ lengthZ

G4double BDSCrystalInfo::lengthZ

◆ material

G4Material* BDSCrystalInfo::material

Material.

Definition at line 66 of file BDSCrystalInfo.hh.

Referenced by BDSCrystalFactory::CommonConstruction().

◆ miscutAngleY

G4double BDSCrystalInfo::miscutAngleY

Definition at line 81 of file BDSCrystalInfo.hh.

◆ shape

BDSCrystalType BDSCrystalInfo::shape

Shape of geometry.

Definition at line 68 of file BDSCrystalInfo.hh.

Referenced by BDSCrystalFactory::CreateCrystal(), and BDSCollimatorCrystal::TransverseOffsetToEdge().

◆ sizeA

G4double BDSCrystalInfo::sizeA

Definition at line 72 of file BDSCrystalInfo.hh.

◆ sizeB

G4double BDSCrystalInfo::sizeB

Definition at line 73 of file BDSCrystalInfo.hh.

◆ sizeC

G4double BDSCrystalInfo::sizeC

Definition at line 74 of file BDSCrystalInfo.hh.

◆ spaceGroup

G4int BDSCrystalInfo::spaceGroup

Definition at line 78 of file BDSCrystalInfo.hh.


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