VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
Geant4GM
include
Geant4GM
solids
Arb8Splitter.h
Go to the documentation of this file.
1
// -----------------------------------------------------------------------
2
// The Geant4GM package of the Virtual Geometry Model
3
// Copyright (C) 2007, Ivana Hrivnacova
4
// All rights reserved.
5
//
6
// For the licensing terms see vgm/LICENSE.
7
// Contact: ivana@ipno.in2p3.fr
8
// -----------------------------------------------------------------------
9
10
#ifndef GEANT4_GM_ARB8_SPLITTER_H
11
#define GEANT4_GM_ARB8_SPLITTER_H
12
13
#include "
VGM/common/TwoVector.h
"
14
15
#include <vector>
16
17
namespace
Geant4GM
{
18
21
struct
Arb8Split
22
{
23
double
fraction
= 0.;
24
double
lowerHalfLength
= 0.;
25
double
lowerZOffset
= 0.;
26
std::vector<VGM::TwoVector>
lowerVertices
;
27
double
upperHalfLength
= 0.;
28
double
upperZOffset
= 0.;
29
std::vector<VGM::TwoVector>
upperVertices
;
30
};
31
32
enum class
Arb8SplitResult
33
{
34
kSuccess
,
35
kNoSplitNeeded
,
36
kInvalidInput
,
37
kCannotSplitInTwo
38
};
39
47
Arb8SplitResult
SplitArb8ForGenericTrap
(
double
halfLength,
48
const
std::vector<VGM::TwoVector>& vertices, Arb8Split& split);
49
50
}
// namespace Geant4GM
51
52
#endif
// GEANT4_GM_ARB8_SPLITTER_H
TwoVector.h
Geant4GM
VGM implementation for Geant4.
Definition
Element.h:29
Geant4GM::SplitArb8ForGenericTrap
Arb8SplitResult SplitArb8ForGenericTrap(double halfLength, const std::vector< VGM::TwoVector > &vertices, Arb8Split &split)
Split an Arb8 whose corresponding end edges form angles greater than 90 degrees into two pieces accep...
Definition
Arb8Splitter.cxx:41
Geant4GM::Arb8SplitResult
Arb8SplitResult
Definition
Arb8Splitter.h:33
Geant4GM::Arb8SplitResult::kInvalidInput
@ kInvalidInput
Definition
Arb8Splitter.h:36
Geant4GM::Arb8SplitResult::kSuccess
@ kSuccess
Definition
Arb8Splitter.h:34
Geant4GM::Arb8SplitResult::kCannotSplitInTwo
@ kCannotSplitInTwo
Definition
Arb8Splitter.h:37
Geant4GM::Arb8SplitResult::kNoSplitNeeded
@ kNoSplitNeeded
Definition
Arb8Splitter.h:35
Geant4GM::Arb8Split
Parameters of two G4GenericTrap-compatible pieces obtained by cutting an Arb8 with a plane perpendicu...
Definition
Arb8Splitter.h:22
Geant4GM::Arb8Split::lowerHalfLength
double lowerHalfLength
Definition
Arb8Splitter.h:24
Geant4GM::Arb8Split::upperVertices
std::vector< VGM::TwoVector > upperVertices
Definition
Arb8Splitter.h:29
Geant4GM::Arb8Split::upperHalfLength
double upperHalfLength
Definition
Arb8Splitter.h:27
Geant4GM::Arb8Split::lowerZOffset
double lowerZOffset
Definition
Arb8Splitter.h:25
Geant4GM::Arb8Split::upperZOffset
double upperZOffset
Definition
Arb8Splitter.h:28
Geant4GM::Arb8Split::lowerVertices
std::vector< VGM::TwoVector > lowerVertices
Definition
Arb8Splitter.h:26
Geant4GM::Arb8Split::fraction
double fraction
Definition
Arb8Splitter.h:23
Generated on
for VGM by
1.17.0