84 G4tgbGeometryDumper::G4tgbGeometryDumper()
 
   85   : theFile(0), theRotationNumber(0)
 
   92   if( theInstance == 0 ){
 
  103   theFile = 
new std::ofstream(fname);
 
  113   G4PhysicalVolumeStore::const_iterator ite;
 
  118     if( lv == 0 ) { 
break; }
 
  121     for( ite = pvstore->begin(); ite != pvstore->end(); ite++ )
 
  157   G4bool bVolExists = CheckIfLogVolExists( lv->
GetName(), lv );
 
  196     std::vector<G4VPhysicalVolume*> pvChildren = GetPVChildren( lv );
 
  197     std::vector<G4VPhysicalVolume*>::const_iterator ite;
 
  198     for( ite = pvChildren.begin(); ite != pvChildren.end(); ite++ )
 
  223         G4cout << 
" G4tgbGeometryDumper::DumpPVPlacement() - Reflected volume: " 
  234                      colx.
y(),coly.
y(),colz.
y(),
 
  235                      colx.
z(),coly.
z(),colz.
z());
 
  238     *rotMat = (*rotMat).inverse();
 
  253   if( !CheckIfPhysVolExists(fullname, pv ))
 
  257       << SubstituteRefl(AddQuotes(lvName))
 
  258       << 
" " << copyNo << 
" " 
  260       << 
" " << AddQuotes(rotName) << 
" "  
  261       << pos.
x() << 
" " << pos.
y() << 
" " << pos.
z() << 
G4endl;
 
  263     thePhysVols[fullname] = pv;
 
  286   std::vector<G4double> newParams;
 
  290   for( 
G4int ii = 0; ii < nReplicas; ii++ )
 
  377     if( ii == 0 || mate1st != newMate || params1st[0] != newParams[0] ) 
 
  385       lvName = 
DumpLogVol( lv, extraName, newSolid, newMate );
 
  424     G4String ErrMessage = 
"Unknown axis of replication for volume" 
  434   if( !CheckIfPhysVolExists(fullname, pv ))
 
  438       << SubstituteRefl(AddQuotes(lvName))
 
  446       << 
" " << offset << 
G4endl;    
 
  451       << 
" " << width/
deg << 
"*deg" 
  452       << 
" " << offset/
deg << 
"*deg" << 
G4endl;    
 
  455     thePhysVols[fullname] = pv;
 
  467   if( extraName == 
"" )  
 
  469     lvName = GetObjectName(lv,theLogVols);
 
  473     lvName = lv->
GetName()+extraName;
 
  476   if( theLogVols.find( lvName ) != theLogVols.end() )   
 
  481   if( !solid )  { solid = lv->
GetSolid(); }
 
  491   (*theFile) << 
":VOLU " << SubstituteRefl(AddQuotes(lvName)) << 
" " 
  492              << SupressRefl(AddQuotes(solidName))
 
  493              << 
" " << AddQuotes(mateName) << 
G4endl;
 
  495   theLogVols[lvName] = lv;
 
  504   G4String mateName = GetObjectName(mat,theMaterials);
 
  505   if( theMaterials.find( mateName ) != theMaterials.end() )  
 
  516   if (numElements == 1)
 
  518     (*theFile) << 
":MATE " << AddQuotes(mateName) << 
" " 
  526     for (
size_t ii = 0; ii < numElements; ii++)
 
  531     (*theFile) << 
":MIXT "<< AddQuotes(mateName) << 
" " 
  532                << density << 
" " << numElements << 
G4endl;
 
  534     for (
size_t ii = 0; ii < numElements; ii++)
 
  537                  << AddQuotes(GetObjectName((*elems)[ii],theElements)) << 
" " 
  538                  << fractions[ii] << 
G4endl;
 
  543   (*theFile) << 
":MATE_MEE " << AddQuotes(mateName) << 
" "  
  547   (*theFile) << 
":MATE_TEMPERATURE " << AddQuotes(mateName) << 
" " 
  550   (*theFile) << 
":MATE_PRESSURE " << AddQuotes(mateName) << 
" " 
  557     stateStr = 
"Undefined";
 
  570   (*theFile) << 
":MATE_STATE " << AddQuotes(mateName) << 
" " 
  573   theMaterials[mateName] = mat;
 
  582   G4String elemName = GetObjectName(ele,theElements);
 
  584   if( theElements.find( elemName ) != theElements.end() )  
 
  593   if( symbol == 
"" || symbol == 
" " )
 
  600     (*theFile) << 
":ELEM " << AddQuotes(elemName) << 
" " 
  601                << AddQuotes(symbol) << 
" " << ele->
GetZ() << 
" " 
  612     (*theFile) << 
":ELEM_FROM_ISOT " << AddQuotes(elemName) << 
" " 
  619                  << AddQuotes(GetObjectName((*isots)[ii],theIsotopes)) << 
" " 
  620                  << fractions[ii] << 
G4endl;
 
  623   theElements[elemName] = 
ele;
 
  630   G4String isotName = GetObjectName(isot,theIsotopes);
 
  631   if( theIsotopes.find( isotName ) != theIsotopes.end() )    
 
  636   (*theFile) << 
":ISOT " << AddQuotes(isotName) << 
" " 
  637              << isot->
GetZ() << 
" " << isot->
GetN() << 
" " 
  640   theIsotopes[isotName] = isot;
 
  649   if( extraName == 
"" ) 
 
  651     solidName = GetObjectName(solid,theSolids);
 
  655     solidName = solid->
GetName()+extraName;
 
  658   if( theSolids.find( solidName ) != theSolids.end() )   
 
  664   solidType = GetTGSolidType( solidType );
 
  666   if (solidType == 
"UNIONSOLID")
 
  670   } 
else if (solidType == 
"SUBTRACTIONSOLID")  {
 
  673   } 
else if (solidType == 
"INTERSECTIONSOLID") {
 
  676   } 
else if (solidType == 
"REFLECTEDSOLID") {
 
  689     (*theFile) << 
":SOLID " << AddQuotes(solidName) << 
" ";
 
  690     (*theFile) << AddQuotes(solidType) << 
" ";
 
  692     theSolids[solidName] = solid;
 
  704   if (!bso)  { 
return; }
 
  723                                   GetTransform().NetRotation()).inverse() ) );
 
  731   G4String bsoName = GetObjectName(so,theSolids);
 
  732   if( theSolids.find( bsoName ) != theSolids.end() ) 
return; 
 
  733   G4String solid0Name = FindSolidName( solid0 );
 
  734   G4String solid1Name = FindSolidName( solid1 );
 
  736   (*theFile) << 
":SOLID "  
  737              << AddQuotes(bsoName) << 
" "  
  738              << AddQuotes(solidType) << 
" "  
  739              << AddQuotes(solid0Name) << 
" "  
  740              << AddQuotes(solid1Name) << 
" "  
  741              << AddQuotes(rotName) << 
" "  
  742              << approxTo0(pos.
x()) << 
" "  
  743              << approxTo0(pos.
y()) << 
" "  
  744              << approxTo0(pos.
z()) << 
" " << 
G4endl;
 
  746   theSolids[bsoName] = bso;
 
  754   for( 
size_t ii = 0 ; ii < params.size(); ii++ )
 
  756     (*theFile) << params[ii] << 
" " ;
 
  765   std::vector<G4double> params;
 
  768   solidType = GetTGSolidType( solidType );
 
  770   if (solidType == 
"BOX")  {
 
  771     const G4Box * sb = dynamic_cast < 
const G4Box*>(so);
 
  777   } 
else if (solidType == 
"TUBS") {
 
  778     const G4Tubs * tu = dynamic_cast < 
const G4Tubs * > (so);
 
  786   } 
else if (solidType == 
"TRAP") {
 
  787     const G4Trap * trp = dynamic_cast < 
const G4Trap * > (so);
 
  791       params.push_back( symAxis.theta()/
deg);
 
  792       params.push_back( symAxis.phi()/
deg);
 
  802   } 
else if (solidType == 
"TRD") {
 
  803     const G4Trd * tr = dynamic_cast < 
const G4Trd * > (so);
 
  811   } 
else if (solidType == 
"PARA") {
 
  812     const G4Para * para = dynamic_cast < 
const G4Para * > (so);
 
  819       params.push_back( symAxis.theta()/
deg);
 
  820       params.push_back( symAxis.phi()/
deg);
 
  822   } 
else if (solidType == 
"CONS") {
 
  823     const G4Cons * cn = dynamic_cast < 
const G4Cons * > (so);
 
  833   } 
else if (solidType == 
"SPHERE") {
 
  843   } 
else if (solidType == 
"ORB") {
 
  844     const G4Orb * orb = dynamic_cast < 
const G4Orb * > (so);
 
  848   } 
else if (solidType == 
"TORUS") {
 
  851       params.push_back( torus->
GetRmin());
 
  852       params.push_back( torus->
GetRmax());
 
  853       params.push_back( torus->
GetRtor());
 
  857   } 
else if (solidType == 
"POLYCONE") {
 
  863       if( angphi > 180*
deg )  { angphi -= 360*
deg; }
 
  865       params.push_back( angphi );
 
  867       params.push_back( ncor );
 
  869       for( 
G4int ii = 0; ii < ncor; ii++ )
 
  875   } 
else if (solidType == 
"GENERICPOLYCONE") {
 
  881       if( angphi > 180*
deg )  { angphi -= 360*
deg; }
 
  883       if( endphi > 180*
deg )  { endphi -= 360*
deg; }
 
  885       params.push_back( angphi );
 
  886       params.push_back( endphi-angphi ); 
 
  887       params.push_back( ncor );
 
  889       for( 
G4int ii = 0; ii < ncor; ii++ )
 
  895   } 
else if (solidType == 
"POLYHEDRA") {
 
  901       if( angphi > 180*
deg ) angphi -= 360*
deg;
 
  905       params.push_back( angphi );
 
  908       params.push_back( ncor );
 
  910       for( 
G4int ii = 0; ii < ncor; ii++ )
 
  916   } 
else if (solidType == 
"ELLIPTICALTUBE") {
 
  920       params.push_back( eltu->
GetDx());
 
  921       params.push_back( eltu->
GetDy());
 
  922       params.push_back( eltu->
GetDz());
 
  924   } 
else if (solidType == 
"ELLIPSOID" ){
 
  933   } 
else if (solidType == 
"ELLIPTICAL_CONE") {
 
  937       params.push_back( elco-> GetSemiAxisX() );
 
  938       params.push_back( elco-> GetSemiAxisY() );
 
  939       params.push_back( elco-> GetZMax() );
 
  940       params.push_back( elco-> GetZTopCut() );
 
  942   } 
else if (solidType == 
"HYPE") {
 
  943     const G4Hype* hype = dynamic_cast < 
const G4Hype * > (so);
 
  953   } 
else if( solidType == 
"TWISTEDBOX" ) {
 
  961   } 
else if( solidType == 
"TWISTEDTRAP" ) {
 
  976   } 
else if( solidType == 
"TWISTEDTRD" ) {
 
  986   } 
else if( solidType == 
"TWISTEDTUBS" ) {
 
  998     G4String ErrMessage = 
"Solid type not supported, sorry... " + solidType;
 
  999     G4Exception(
"G4tgbGeometryDumpe::DumpSolidParams()",
 
 1012   G4double de = MatDeterminant(rotm);
 
 1013   G4String rotName = LookForExistingRotation( rotm );
 
 1014   if( rotName != 
"" )  { 
return rotName; }
 
 1019     (*theFile) << 
":ROTM ";
 
 1023     (*theFile) << AddQuotes(rotName) << std::setprecision(9) << 
" "  
 1024                << approxTo0(rotm->
xx())  << 
" " 
 1025                << approxTo0(rotm->
yx())  << 
" " 
 1026                << approxTo0(rotm->
zx())  << 
" " 
 1027                << approxTo0(rotm->
xy())  << 
" " 
 1028                << approxTo0(rotm->
yy())  << 
" " 
 1029                << approxTo0(rotm->
zy())  << 
" " 
 1030                << approxTo0(rotm->
xz())  << 
" " 
 1031                << approxTo0(rotm->
yz())  << 
" " 
 1032                << approxTo0(rotm->
zz())  << 
G4endl;
 
 1036     (*theFile) << 
":ROTM ";
 
 1040     (*theFile) << AddQuotes(rotName) << 
" "  
 1042                << approxTo0(rotm->
phiX()/
deg)    << 
" " 
 1044                << approxTo0(rotm->
phiY()/
deg)    << 
" " 
 1049   theRotMats[rotName] = rotm;
 
 1056 std::vector<G4VPhysicalVolume*>
 
 1060   G4PhysicalVolumeStore::const_iterator ite;
 
 1061   std::vector<G4VPhysicalVolume*> children;
 
 1062   for( ite = pvstore->begin(); ite != pvstore->end(); ite++ )
 
 1064     if( (*ite)->GetMotherLogical() == lv )
 
 1066       children.push_back( *ite );
 
 1070         G4cout << 
" G4tgbGeometryDumper::GetPVChildren() - adding children: " 
 1084   G4String newsolidType = solidType.substr(2,solidType.length() );
 
 1085   for( 
size_t ii = 0; ii < newsolidType.length(); ii++ )
 
 1087     newsolidType[ii] = toupper(newsolidType[ii] );
 
 1089   return newsolidType;
 
 1109   if( std::fabs(val) < precision )  { val = 0; }
 
 1120   size_t siz = str.length();
 
 1121   for( 
size_t ii = 0; ii < siz; ii++ )
 
 1123     if( str.substr(ii,1) == 
" " )
 
 1141   G4int irefl = name.rfind(
"_refl");
 
 1144     name = name.substr( 0, irefl );
 
 1152   G4int irefl = name.rfind(
"_refl");
 
 1155     name = name.substr( 0, irefl ) + 
"_REFL";
 
 1168   std::map<G4String,G4Isotope*>::const_iterator ite;
 
 1169   for( ite = theIsotopes.begin(); ite != theIsotopes.end(); ite++ )
 
 1171     if( isot == (*ite).second )  { 
return (*ite).
first; }
 
 1177   ite = theIsotopes.find( isotName );
 
 1178   if( ite != theIsotopes.end() )       
 
 1181     if( isot != isotold ) 
 
 1183       if( !Same2G4Isotopes(isot, isotold))
 
 1189           G4String newIsotName = isotName + 
"_" 
 1191           std::map<G4String,G4Isotope*>::const_iterator ite2 =
 
 1192                theIsotopes.find( newIsotName );
 
 1193           if( ite2 == theIsotopes.end() )
 
 1195             isotName = newIsotName;
 
 1200             if( Same2G4Isotopes( isot, (*ite2).second ) ) 
 
 1202               isotName = newIsotName;
 
 1215 template< 
class TYP > 
G4String G4tgbGeometryDumper::
 
 1216 GetObjectName( TYP* obj, std::map<G4String,TYP*> objectsDumped )
 
 1223   typename std::map<G4String,TYP*>::const_iterator ite;
 
 1224   for( ite = objectsDumped.begin(); ite != objectsDumped.end(); ite++ )
 
 1226     if( obj == (*ite).second )  { 
return (*ite).
first; }
 
 1232   ite = objectsDumped.find( objName );
 
 1234   if( ite != objectsDumped.end() )    
 
 1236     TYP* objold = (*ite).second;
 
 1243         typename std::map<G4String,TYP*>::const_iterator ite2 =
 
 1244                  objectsDumped.find( newObjName );
 
 1245         if( ite2 == objectsDumped.end() )
 
 1247           objName = newObjName;
 
 1258 G4bool G4tgbGeometryDumper::CheckIfLogVolExists( 
const G4String& name,
 
 1261   if( theLogVols.find( name ) != theLogVols.end() )
 
 1288 G4bool G4tgbGeometryDumper::CheckIfPhysVolExists( 
const G4String& name,
 
 1294     G4cout << 
" G4tgbGeometryDumper::CheckIfPhysVolExists() - " 
 1298   if( thePhysVols.find( name ) != thePhysVols.end() )
 
 1300     if( (*(thePhysVols.find(name))).second != pt )
 
 1306       G4cerr << 
" G4tgbGeometryDumper::CheckIfPhysVolExists () -" 
 1307              << 
" Placement found but not same as before : " << name << 
G4endl;
 
 1320 G4tgbGeometryDumper::LookForExistingRotation( 
const G4RotationMatrix* rotm )
 
 1324   std::map<G4String,G4RotationMatrix*>::const_iterator ite;
 
 1325   for( ite = theRotMats.begin(); ite != theRotMats.end(); ite++ )
 
 1327     if( (*ite).second->isNear( *rotm ) )
 
 1329       rmName = (*ite).
first;
 
 1341   if ( (isot1->
GetZ() != isot2->
GetZ())
 
 1342     || (isot1->
GetN() != isot2->
GetN())
 
 1343     || (isot1->
GetA() != isot2->
GetA()) )
 
 1357   std::map<G4String,G4VSolid*>::const_iterator ite;
 
 1358   for( ite = theSolids.begin(); ite != theSolids.end(); ite++ )
 
 1360     if( solid == (*ite).second )  { 
return (*ite).
first; }
 
 1363   if( ite == theSolids.end() )
 
 1365     G4Exception(
"G4tgbGeometryDumper::FindSolidName()", 
"ReadError",
 
 1368   return (*ite).first;
 
G4ThreeVector GetSymAxis() const 
 
G4double GetPressure() const 
 
size_t GetNumberOfIsotopes() const 
 
G4PolyconeSideRZ GetCorner(G4int index) const 
 
G4double GetXHalfLength4() const 
 
G4IonisParamMat * GetIonisation() const 
 
G4double GetXHalfLength() const 
 
G4double GetOuterStereo() const 
 
G4double GetX1HalfLength() const 
 
virtual G4Material * ComputeMaterial(const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=0)
 
std::vector< G4Isotope * > G4IsotopeVector
 
G4double GetY1HalfLength() const 
 
G4double GetPolarAngleTheta() const 
 
G4Material * GetMaterial() const 
 
const G4String & GetName() const 
 
G4double GetYHalfLength2() const 
 
std::vector< G4Element * > G4ElementVector
 
G4double GetYHalfLength1() const 
 
G4double GetInnerStereo() const 
 
CLHEP::Hep3Vector G4ThreeVector
 
G4double GetInnerRadius() const 
 
CLHEP::HepRotation G4RotationMatrix
 
virtual void GetReplicationData(EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const 
 
void DumpIsotope(G4Isotope *ele)
 
virtual G4bool IsReplicated() const =0
 
G4String DumpMaterial(G4Material *mat)
 
const G4String & GetSymbol() const 
 
G4int GetNumRZCorner() const 
 
virtual G4VSolid * ComputeSolid(const G4int, G4VPhysicalVolume *)
 
void DumpSolidParams(G4VSolid *so)
 
G4double GetZTopCut() const 
 
G4double GetZHalfLength() const 
 
G4double GetSurfaceTolerance() const 
 
G4double GetZHalfLength() const 
 
G4double GetDensity() const 
 
G4VSolid * GetSolid() const 
 
static G4String ConvertToString(G4bool boolVal)
 
G4double GetZBottomCut() const 
 
G4double GetOuterRadiusMinusZ() const 
 
const G4RotationMatrix * GetRotation() const 
 
G4double GetX2HalfLength() const 
 
G4double GetInnerRadius() const 
 
virtual G4GeometryType GetEntityType() const =0
 
G4double GetZHalfLength() const 
 
G4double GetDeltaPhiAngle() const 
 
const G4ElementVector * GetElementVector() const 
 
G4double GetZHalfLength() const 
 
G4double GetSemiAxisMax(G4int i) const 
 
G4bool IsReflected(G4LogicalVolume *lv) const 
 
G4ThreeVector GetObjectTranslation() const 
 
G4double GetXHalfLength2() const 
 
static G4ReflectionFactory * Instance()
 
G4double GetZHalfLength() const 
 
G4double GetZHalfLength() const 
 
void DumpPVReplica(G4PVReplica *pv, const G4String &lvName)
 
G4double GetEndPhi() const 
 
G4double GetTanAlpha2() const 
 
G4int GetNumRZCorner() const 
 
void DumpPhysVol(G4VPhysicalVolume *pv)
 
G4double GetPhiTwist() const 
 
static G4PhysicalVolumeStore * GetInstance()
 
G4double GetY1HalfLength() const 
 
G4double GetXHalfLength2() const 
 
G4double GetRadius() const 
 
void DumpGeometry(const G4String &fname)
 
G4VPVParameterisation * GetParameterisation() const 
 
G4double GetXHalfLength1() const 
 
G4GLOB_DLL std::ostream G4cout
 
G4double GetDeltaPhiAngle() const 
 
G4double GetStartThetaAngle() const 
 
const G4String & GetName() const 
 
G4double GetXHalfLength3() const 
 
static G4int GetVerboseLevel()
 
G4double GetY2HalfLength() const 
 
G4double GetX3HalfLength() const 
 
G4double GetPhiTwist() const 
 
G4double * GetRelativeAbundanceVector() const 
 
static constexpr double eV
 
G4double GetYHalfLength() const 
 
G4double GetStartPhiAngle() const 
 
G4double GetYHalfLength2() const 
 
G4double GetOuterRadius() const 
 
G4double GetStartPhiAngle() const 
 
G4double GetStartPhi() const 
 
G4double GetInnerRadiusPlusZ() const 
 
G4LogicalVolume * GetMotherLogical() const 
 
G4double GetInnerRadius() const 
 
G4PolyconeHistorical * GetOriginalParameters() const 
 
G4double GetStartPhi() const 
 
static constexpr double kelvin
 
static constexpr double cm3
 
G4VSolid * GetConstituentMovedSolid() const 
 
G4double GetXHalfLength() const 
 
G4double GetInnerRadius() const 
 
virtual const G4VSolid * GetConstituentSolid(G4int no) const 
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
virtual G4bool IsParameterised() const =0
 
const G4ThreeVector & GetTranslation() const 
 
virtual void ComputeDimensions(G4Box &, const G4int, const G4VPhysicalVolume *) const 
 
G4double GetX4HalfLength() const 
 
void DumpPVPlacement(G4VPhysicalVolume *pv, const G4String &lvName, G4int copyNo=-999)
 
G4double GetYHalfLength() const 
 
G4IsotopeVector * GetIsotopeVector() const 
 
G4String DumpRotationMatrix(G4RotationMatrix *rotm)
 
G4double GetZHalfLength() const 
 
G4LogicalVolume * GetLogicalVolume() const 
 
G4double GetTanAlpha() const 
 
void DumpBooleanVolume(const G4String &solidType, G4VSolid *so)
 
static G4tgbGeometryDumper * GetInstance()
 
void GetReplicationData(EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const 
 
G4VSolid * GetConstituentMovedSolid() const 
 
std::vector< G4double > GetSolidParams(const G4VSolid *so)
 
void DumpPVParameterised(G4PVParameterised *pv)
 
G4VPhysicalVolume * GetTopPhysVol()
 
virtual void ComputeTransformation(const G4int, G4VPhysicalVolume *) const =0
 
virtual G4int GetCopyNo() const =0
 
static const G4double ele
 
G4PolyhedraHistorical * GetOriginalParameters() const 
 
G4double GetZHalfLength() const 
 
G4double GetZHalfLength() const 
 
G4ThreeVector GetSymAxis() const 
 
G4double GetZHalfLength() const 
 
G4double GetMeanExcitationEnergy() const 
 
G4double GetAzimuthalAnglePhi() const 
 
G4double GetTemperature() const 
 
G4double GetStartPhi() const 
 
G4double GetXHalfLength1() const 
 
size_t GetNumberOfElements() const 
 
G4double GetOuterRadius() const 
 
G4double GetStartPhiAngle() const 
 
G4PolyhedraSideRZ GetCorner(const G4int index) const 
 
G4double GetYHalfLength1() const 
 
G4String DumpSolid(G4VSolid *solid, const G4String &extraName="")
 
const G4String & GetName() const 
 
G4double GetPhiTwist() const 
 
G4double GetInnerRadiusMinusZ() const 
 
static constexpr double deg
 
G4double GetTanAlpha1() const 
 
const G4double * GetFractionVector() const 
 
G4int GetNumRZCorner() const 
 
G4double GetDeltaThetaAngle() const 
 
G4PolyconeSideRZ GetCorner(G4int index) const 
 
G4double GetX1HalfLength() const 
 
static constexpr double atmosphere
 
G4double GetTiltAngleAlpha() const 
 
G4double GetX2HalfLength() const 
 
static constexpr double mole
 
G4double GetOuterRadiusPlusZ() const 
 
G4double GetZHalfLength() const 
 
G4double GetOuterRadius() const 
 
G4double GetXHalfLength() const 
 
static const G4double pos
 
static G4GeometryTolerance * GetInstance()
 
G4double GetPhiTwist() const 
 
G4double GetOuterRadius() const 
 
G4GLOB_DLL std::ostream G4cerr
 
G4String DumpLogVol(G4LogicalVolume *lv, G4String extraName="", G4VSolid *solid=0, G4Material *mate=0)
 
G4double GetY2HalfLength() const 
 
void DumpElement(G4Element *ele)
 
G4double GetDeltaPhiAngle() const 
 
G4double GetYHalfLength() const