#include <G4ParameterisationPara.hh>
Inheritance diagram for G4VParameterisationPara:
Public Member Functions | |
G4VParameterisationPara (EAxis axis, G4int nCopies, G4double offset, G4double step, G4VSolid *msolid, DivisionType divType) | |
virtual | ~G4VParameterisationPara () |
Definition at line 64 of file G4ParameterisationPara.hh.
G4VParameterisationPara::G4VParameterisationPara | ( | EAxis | axis, | |
G4int | nCopies, | |||
G4double | offset, | |||
G4double | step, | |||
G4VSolid * | msolid, | |||
DivisionType | divType | |||
) |
Definition at line 50 of file G4ParameterisationPara.cc.
References G4VDivisionParameterisation::fDeleteSolid, G4VDivisionParameterisation::fmotherSolid, G4VDivisionParameterisation::fReflectedSolid, G4VSolid::GetEntityType(), G4VSolid::GetName(), G4Para::GetSymAxis(), G4Para::GetTanAlpha(), G4Para::GetXHalfLength(), G4Para::GetYHalfLength(), G4Para::GetZHalfLength(), and G4INCL::Math::pi.
00053 : G4VDivisionParameterisation( axis, nDiv, width, offset, divType, msolid ) 00054 { 00055 G4Para* msol = (G4Para*)(msolid); 00056 if (msolid->GetEntityType() == "G4ReflectedSolid") 00057 { 00058 // Get constituent solid 00059 G4VSolid* mConstituentSolid 00060 = ((G4ReflectedSolid*)msolid)->GetConstituentMovedSolid(); 00061 msol = (G4Para*)(mConstituentSolid); 00062 fmotherSolid = msol; 00063 00064 // Create a new solid with inversed parameters 00065 G4Para* newSolid 00066 = new G4Para(msol->GetName(), 00067 msol->GetXHalfLength(), 00068 msol->GetYHalfLength(), 00069 msol->GetZHalfLength(), 00070 std::atan(msol->GetTanAlpha()), 00071 pi - msol->GetSymAxis().theta(), 00072 msol->GetSymAxis().phi()); 00073 00074 msol = newSolid; 00075 fmotherSolid = newSolid; 00076 fReflectedSolid = true; 00077 fDeleteSolid = true; 00078 } 00079 }
G4VParameterisationPara::~G4VParameterisationPara | ( | ) | [virtual] |