![]() |
Belle II Software
release-06-01-15
|
Common code concerning the geometry representation of the detector. More...
Classes | |
class | CreatorBase |
Pure virtual base class for all geometry creators. More... | |
struct | CreatorFactory |
Very simple class to provide an easy way to register creators with the CreatorManager. More... | |
class | CreatorManager |
Class to manage all creators and provide factory access. More... | |
class | GeometryManager |
Class to manage the creation and conversion of the geometry. More... | |
class | Materials |
Thin wrapper around the Geant4 Material system. More... | |
Enumerations | |
enum | GeometryTypes { FullGeometry , TrackingGeometry , DisplayGeometry } |
Flag indiciating the type of geometry to be used. More... | |
Functions | |
void | setColor (G4LogicalVolume &volume, const std::string &color) |
Set the color of a logical volume. More... | |
void | setVisibility (G4LogicalVolume &volume, bool visible) |
Helper function to quickly set the visibility of a given volume. More... | |
G4Polycone * | createPolyCone (const std::string &name, const GearDir ¶ms, double &minZ, double &maxZ) |
Create Polycone Shape from XML Parameters. More... | |
G4Polycone * | createRotationSolid (const std::string &name, const GearDir ¶ms, double &minZ, double &maxZ) |
Create a solid by roating two polylines around the Z-Axis. More... | |
G4Polycone * | createRotationSolid (const std::string &name, std::list< std::pair< double, double > > innerPoints, std::list< std::pair< double, double > > outerPoints, double minPhi, double maxPhi, double &minZ, double &maxZ) |
Create a solid by roating two polylines around the Z-Axis. More... | |
G4Colour | parseColor (std::string colorString) |
Parse a color string of the form #rgb, #rrggbb, #rgba, #rrggbbaa or rgb(r, g, b) and return a corresponding G4Colour. More... | |
TEST (Materials, Element) | |
Check that we can find hydrogen and that the basic Parameters are correct. | |
TEST (Materials, Material) | |
Check if we find the Air Material which is named G4_AIR in Geant4 So check if Air and G4_AIR refer to the same material. | |
TEST (Materials, Create) | |
Check creation of a simple mixture with fractions of other materials The density of the new material should be equal to the weighted sum of the original densities. | |
TEST (Materials, CreateDensityError) | |
When adding elements one has to specify a density since elements do not have a density. | |
TEST (Materials, CreateDensity) | |
Same as above, but with density so it should work. | |
TEST (Materials, CreateMaterialError) | |
When adding unknown materials we should get NULL. | |
TEST (Materials, CreateElementError) | |
When adding unknown elements we should get NULL. | |
TEST (Materials, OpticalSurface) | |
Check the OpticalSurface setting. | |
TEST (Materials, Properties) | |
Check the material properties (need to be checked) | |
Common code concerning the geometry representation of the detector.
enum GeometryTypes |
Flag indiciating the type of geometry to be used.
Enumerator | |
---|---|
FullGeometry | Full geometry for simulation. |
TrackingGeometry | Simplified geometry for tracking purposes. |
DisplayGeometry | Simplified geometry for display purposes. |
Definition at line 36 of file GeometryManager.h.
G4Polycone * createPolyCone | ( | const std::string & | name, |
const GearDir & | params, | ||
double & | minZ, | ||
double & | maxZ | ||
) |
Create Polycone Shape from XML Parameters.
This function will create a polycone shape directly from Gearbox Parameters of the form
<minPhi unit="deg"> 0</minPhi> <maxPhi unit="deg">360</maxPhi> <Plane> <posZ unit="mm">-10.0</posZ> <innerRadius unit="mm"> 20.000</innerRadius> <outerRadius unit="mm"> 20.000</outerRadius> </Plane> ... <Plane> <posZ unit="mm">10.0</posZ> <innerRadius unit="mm"> 15.000</innerRadius> <outerRadius unit="mm"> 30.000</outerRadius> </Plane>
There must be at least two Plane definitions, minPhi and maxPhi can be omitted. minZ and maxZ will return the extents of the Polycone along z
name | Name of the shape to create | |
params | GearDir pointing to the parameters | |
[out] | minZ | will contain the minimal z coordinate of the polycone |
[out] | maxZ | will contain the maximal z coordinate of the polycone |
Definition at line 113 of file utilities.cc.
G4Polycone * createRotationSolid | ( | const std::string & | name, |
const GearDir & | params, | ||
double & | minZ, | ||
double & | maxZ | ||
) |
Create a solid by roating two polylines around the Z-Axis.
This function will create a polycone shape directly from Gearbox Parameters describing the inner and the outer envelope of the polycone. The XML Parameters should be of the form
<minPhi unit="deg"> 0</minPhi> <maxPhi unit="deg">360</maxPhi> <OuterPoints> <point><z unit="mm">-393.000</z><x unit="mm">100.000</x></point> <point><z unit="mm">-337.000</z><x unit="mm"> 85.500</x></point> ... <point><z unit="mm">-138.000</z><x unit="mm"> 35.000</x></point> </OuterPoints> <InnerPoints> <point><z unit="mm">-393.000</z><x unit="mm"> 97.934</x></point> <point><z unit="mm">-339.000</z><x unit="mm"> 83.952</x></point> ... <point><z unit="mm">-138.000</z><x unit="mm"> 33.000</x></point> </InnerPoints>
Where OuterPoints and InnerPoints specify a polyline which is the outer respective inner envelope of the Polycone. The number of points doe s not have to be the same for Outer- and InnerPoints. Needed positions will be interpolated when creating the Polycone.
The Positions for Outer- and InnerPoints have to be in ascending Z coordinates. The first and last point of OuterPoints will be connected to the first respective last point of InnerPoints. The resulting shape will be rotated around the z axis to create the polycone.
name | Name of the Solid | |
params | Parameters to use for the Solid | |
[out] | minZ | will contain the minimal z coordinate of the polycone |
[out] | maxZ | will contain the maximal z coordinate of the polycone |
Definition at line 200 of file utilities.cc.
G4Polycone * createRotationSolid | ( | const std::string & | name, |
std::list< std::pair< double, double > > | innerPoints, | ||
std::list< std::pair< double, double > > | outerPoints, | ||
double | minPhi, | ||
double | maxPhi, | ||
double & | minZ, | ||
double & | maxZ | ||
) |
Create a solid by roating two polylines around the Z-Axis.
Create rotation solid.
This function will create a polycone shape. The InnerPoints and OuterPoints are passed directly as stl::lists to avoid dependence on gearbox.
Where OuterPoints and InnerPoints specify a polyline which is the outer respective inner envelope of the Polycone. The number of points does not have to be the same for Outer- and InnerPoints. Needed positions will be interpolated when creating the Polycone.
The Positions for Outer- and InnerPoints have to be in ascending Z coordinates. The first and last point of OuterPoints will be connected to the first respective last point of InnerPoints. The resulting shape will be rotated around the z axis to create the polycone.
name | Name of the Solid | |
innerPoints | List of inner points | |
outerPoints | List of outer points | |
[out] | minZ | will contain the minimal z coordinate of the polycone |
[out] | maxZ | will contain the maximal z coordinate of the polycone |
name | Name of the volume. | |
innerPoints | Inner points of the volume. | |
outerPointes | Outer points of the volume. | |
minPhi | Minimum phi angle. | |
maxPhi | Maximum phi angle. | |
minZ | Minimum z coordinate. | |
maxZ | Maximum z coordinate. |
Definition at line 270 of file utilities.cc.
G4Colour Belle2::geometry::parseColor | ( | std::string | colorString | ) |
Parse a color string of the form #rgb, #rrggbb, #rgba, #rrggbbaa or rgb(r, g, b) and return a corresponding G4Colour.
For #rgb and #rgba the color for red, green, blue (and optionally alpha) is each represented by one hexadecimal digit, #rrggbb and #rrggbbaa is the same with two digits per colour.
rgb(r, g, b) expects the fraction of red, green and blue as float between 0 and 1.
Definition at line 41 of file utilities.cc.
void setColor | ( | G4LogicalVolume & | volume, |
const std::string & | color | ||
) |
Set the color of a logical volume.
This function will set the visualization color of a logical volume from a string representation of the color Recognized formats for the color are:
volume | Volume for which to set the color |
color | String representation of the color |
Definition at line 97 of file utilities.cc.
void setVisibility | ( | G4LogicalVolume & | volume, |
bool | visible | ||
) |
Helper function to quickly set the visibility of a given volume.
volume | Volume for which to set the visibility |
visible | true if the volume should be visible, false otherwise |
Definition at line 105 of file utilities.cc.