Belle II Software development
|
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. | |
void | setVisibility (G4LogicalVolume &volume, bool visible) |
Helper function to quickly set the visibility of a given volume. | |
G4Polycone * | createPolyCone (const std::string &name, const GearDir ¶ms, double &minZ, double &maxZ) |
Create Polycone Shape from XML Parameters. | |
G4Polycone * | createRotationSolid (const std::string &name, const GearDir ¶ms, double &minZ, double &maxZ) |
Create a solid by roating two polylines around the Z-Axis. | |
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 rotating two polylines around the Z-Axis. | |
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. | |
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
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 116 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
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 203 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 rotating two polylines around the Z-Axis.
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.
[in] | name | Name of the solid. |
[in] | innerPoints | List of inner points. |
[in] | outerPoints | List of outer points. |
[in] | minPhi | Minimum phi angle. |
[in] | maxPhi | Maximum phi angle. |
[out] | minZ | Minimum z coordinate. |
[out] | maxZ | Maximum z coordinate. |
Definition at line 263 of file utilities.cc.
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.
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 44 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 100 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 108 of file utilities.cc.
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.
Definition at line 59 of file Materials.cc.
TEST | ( | Materials | , |
CreateDensity | |||
) |
Same as above, but with density so it should work.
Definition at line 103 of file Materials.cc.
TEST | ( | Materials | , |
CreateDensityError | |||
) |
When adding elements one has to specify a density since elements do not have a density.
Definition at line 84 of file Materials.cc.
TEST | ( | Materials | , |
CreateElementError | |||
) |
When adding unknown elements we should get NULL.
Definition at line 140 of file Materials.cc.
TEST | ( | Materials | , |
CreateMaterialError | |||
) |
When adding unknown materials we should get NULL.
Definition at line 122 of file Materials.cc.
TEST | ( | Materials | , |
Element | |||
) |
Check that we can find hydrogen and that the basic Parameters are correct.
Definition at line 33 of file Materials.cc.
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.
Definition at line 46 of file Materials.cc.
TEST | ( | Materials | , |
OpticalSurface | |||
) |
Check the OpticalSurface setting.
Definition at line 158 of file Materials.cc.
TEST | ( | Materials | , |
Properties | |||
) |
Check the material properties (need to be checked)
Definition at line 197 of file Materials.cc.