#include <G4ParameterisationPolyhedra.hh>
|
| G4ParameterisationPolyhedraZ (EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *motherSolid, DivisionType divType) |
|
| ~G4ParameterisationPolyhedraZ () |
|
void | CheckParametersValidity () |
|
G4double | GetMaxParameter () const |
|
void | ComputeTransformation (const G4int copyNo, G4VPhysicalVolume *physVol) const |
|
void | ComputeDimensions (G4Polyhedra &phedra, const G4int copyNo, const G4VPhysicalVolume *physVol) const |
|
| G4VParameterisationPolyhedra (EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType) |
|
virtual | ~G4VParameterisationPolyhedra () |
|
| G4VDivisionParameterisation (EAxis axis, G4int nDiv, G4double width, G4double offset, DivisionType divType, G4VSolid *motherSolid=0) |
|
virtual | ~G4VDivisionParameterisation () |
|
virtual G4VSolid * | ComputeSolid (const G4int, G4VPhysicalVolume *) |
|
const G4String & | GetType () const |
|
EAxis | GetAxis () const |
|
G4int | GetNoDiv () const |
|
G4double | GetWidth () const |
|
G4double | GetOffset () const |
|
G4VSolid * | GetMotherSolid () const |
|
void | SetType (const G4String &type) |
|
G4int | VolumeFirstCopyNo () const |
|
void | SetHalfGap (G4double hg) |
|
G4double | GetHalfGap () const |
|
| G4VPVParameterisation () |
|
virtual | ~G4VPVParameterisation () |
|
virtual G4Material * | ComputeMaterial (const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=0) |
|
virtual G4bool | IsNested () const |
|
virtual G4VVolumeMaterialScanner * | GetMaterialScanner () |
|
Definition at line 434 of file G4ParameterisationPolyhedra.cc.
442 SetType(
"DivisionPolyhedraZ" );
448 - fOrigParamMother->
Z_values[0] , width, offset );
454 - fOrigParamMother->
Z_values[0] , nDiv, offset );
460 G4cout <<
" G4ParameterisationPolyhedraZ - # divisions " <<
fnDiv <<
" = "
static const G4int verbose
void SetType(const G4String &type)
G4VParameterisationPolyhedra(EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType)
G4GLOB_DLL std::ostream G4cout
void CheckParametersValidity()
G4int CalculateNDiv(G4double motherDim, G4double width, G4double offset) const
G4ParameterisationPolyhedraZ::~G4ParameterisationPolyhedraZ |
( |
| ) |
|
void G4ParameterisationPolyhedraZ::CheckParametersValidity |
( |
| ) |
|
|
virtual |
Reimplemented from G4VDivisionParameterisation.
Definition at line 518 of file G4ParameterisationPolyhedra.cc.
525 std::ostringstream message;
526 message <<
"Configuration not supported." <<
G4endl
527 <<
"Division along Z will be done splitting in the defined"
529 <<
"Z planes, i.e, the number of division would be :"
532 G4Exception(
"G4ParameterisationPolyhedraZ::CheckParametersValidity()",
543 G4int isegstart = -1;
554 while ( isegend < 0 && counter < fOrigParamMother->Num_z_planes-1 ) {
556 if ( zstart >= fOrigParamMother->
Z_values[counter] &&
557 zstart < fOrigParamMother->Z_values[counter+1] ) {
561 if ( zend > fOrigParamMother->
Z_values[counter] &&
562 zend <= fOrigParamMother->Z_values[counter+1] ) {
576 while ( isegend < 0 && counter < fOrigParamMother->Num_z_planes-1 ) {
578 if ( zstart <= fOrigParamMother->Z_values[counter] &&
579 zstart > fOrigParamMother->
Z_values[counter+1] ) {
583 if ( zend < fOrigParamMother->Z_values[counter] &&
584 zend >= fOrigParamMother->
Z_values[counter+1] ) {
591 if ( isegstart != isegend ) {
592 std::ostringstream message;
593 message <<
"Configuration not supported." <<
G4endl
594 <<
"Division with user defined width." <<
G4endl
596 <<
"Divided region is not between two Z planes.";
597 G4Exception(
"G4ParameterisationPolyhedraZ::CheckParametersValidity()",
601 fNSegment = isegstart;
virtual void CheckParametersValidity()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
DivisionType fDivisionType
Reimplemented from G4VPVParameterisation.
Definition at line 657 of file G4ParameterisationPolyhedra.cc.
678 + fOrigParamMother->
Z_values[copyNo+1])/2;
682 origparam.
Rmin[0] = fOrigParamMother->
Rmin[copyNo];
683 origparam.
Rmin[1] = fOrigParamMother->
Rmin[copyNo+1];
684 origparam.
Rmax[0] = fOrigParamMother->
Rmax[copyNo];
685 origparam.
Rmax[1] = fOrigParamMother->
Rmax[copyNo+1];
700 origparam.
Rmin[0] = GetRmin(zstart, fNSegment);
701 origparam.
Rmax[0] = GetRmax(zstart, fNSegment);
702 origparam.
Rmin[1] = GetRmin(zend, fNSegment);
703 origparam.
Rmax[1] = GetRmax(zend, fNSegment);
716 origparam.
Rmin[0] = GetRmin(zstart, fNSegment);
717 origparam.
Rmax[0] = GetRmax(zstart, fNSegment);
718 origparam.
Rmin[1] = GetRmin(zend, fNSegment);
719 origparam.
Rmax[1] = GetRmax(zend, fNSegment);
723 if ( origparam.
Rmin[0] < 0.0 ) origparam.
Rmin[0] = 0.0;
724 if ( origparam.
Rmin[nz-1] < 0.0 ) origparam.
Rmin[1] = 0.0;
733 G4cout <<
"G4ParameterisationPolyhedraZ::ComputeDimensions()" <<
G4endl
734 <<
"-- Parametrised phedra copy-number: " << copyNo <<
G4endl;
static const G4int verbose
G4GLOB_DLL std::ostream G4cout
void SetOriginalParameters(G4PolyhedraHistorical *pars)
DivisionType fDivisionType
Implements G4VDivisionParameterisation.
Definition at line 608 of file G4ParameterisationPolyhedra.cc.
613 + fOrigParamMother->
Z_values[copyNo+1])/2;
635 G4cout <<
" G4ParameterisationPolyhedraZ - position: " << posi <<
G4endl
636 <<
" copyNo: " << copyNo <<
" - foffset: " <<
foffset/
deg
646 G4cout << std::setprecision(8) <<
" G4ParameterisationPolyhedraZ "
648 <<
" Position: " << origin <<
" - Width: " <<
fwidth
static const G4int verbose
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
void ChangeRotMatrix(G4VPhysicalVolume *physVol, G4double rotZ=0.) const
void SetTranslation(const G4ThreeVector &v)
static constexpr double deg
DivisionType fDivisionType
G4double G4ParameterisationPolyhedraZ::GetMaxParameter |
( |
| ) |
const |
|
virtual |
The documentation for this class was generated from the following files: