![]() |
Belle II Software
light-2303-iriomote
|
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.