Geant4  10.00.p02
G3Division Class Reference

#include <G3Division.hh>

+ Collaboration diagram for G3Division:

Public Member Functions

 G3Division (G3DivType type, G3VolTableEntry *vte, G3VolTableEntry *mvte, G4int nofDivision, G4int iaxis, G4int nmed, G4double c0, G4double step)
 
 G3Division (G3VolTableEntry *vte, G3VolTableEntry *mvte, const G3Division &division)
 
virtual ~G3Division ()
 
void UpdateVTE ()
 
void CreatePVReplica ()
 

Private Member Functions

void SetRangeAndAxis ()
 
void CreateSolid (G4String shape, G4double par[], G4int npar)
 
G3VolTableEntryCreateEnvelope (G4String shape, G4double hi, G4double lo, G4double par[], G4int npar)
 
G3VolTableEntryDvn ()
 
G3VolTableEntryDvn2 ()
 
G3VolTableEntryDvt ()
 
G3VolTableEntryDvt2 ()
 
void Exception (G4String where, G4String what)
 

Private Attributes

G3DivType fType
 
G3VolTableEntryfVTE
 
G3VolTableEntryfMVTE
 
G4int fNofDivisions
 
G4int fIAxis
 
G4int fNmed
 
G4double fC0
 
G4double fStep
 
G4double fLowRange
 
G4double fHighRange
 
G4double fWidth
 
G4double fOffset
 
EAxis fAxis
 

Detailed Description

Definition at line 55 of file G3Division.hh.

Constructor & Destructor Documentation

G3Division::G3Division ( G3DivType  type,
G3VolTableEntry vte,
G3VolTableEntry mvte,
G4int  nofDivision,
G4int  iaxis,
G4int  nmed,
G4double  c0,
G4double  step 
)

Definition at line 50 of file G3Division.cc.

References fVTE, and G3VolTableEntry::SetHasNegPars().

+ Here is the call graph for this function:

G3Division::G3Division ( G3VolTableEntry vte,
G3VolTableEntry mvte,
const G3Division division 
)

Definition at line 70 of file G3Division.cc.

References fAxis, fC0, fHighRange, fIAxis, fLowRange, fNmed, fNofDivisions, fOffset, fStep, fType, fVTE, fWidth, kXAxis, and G3VolTableEntry::SetHasNegPars().

+ Here is the call graph for this function:

G3Division::~G3Division ( )
virtual

Definition at line 92 of file G3Division.cc.

Member Function Documentation

G3VolTableEntry * G3Division::CreateEnvelope ( G4String  shape,
G4double  hi,
G4double  lo,
G4double  par[],
G4int  npar 
)
private

Definition at line 438 of file G3Division.cc.

References G3VolTableEntry::AddG3Pos(), cm, deg, Exception(), fIAxis, fMVTE, fNmed, fVTE, G4CreateVTE(), G3VolTableEntry::GetMasterClone(), G3VolTableEntry::GetName(), pos, and Rpar.

Referenced by Dvn2(), Dvt(), and Dvt2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G3Division::CreatePVReplica ( )

Definition at line 128 of file G3Division.cc.

References fAxis, fIAxis, fLowRange, fMVTE, fNofDivisions, fOffset, fVTE, fWidth, G4cout, G4endl, G3VolTableEntry::GetLV(), G3VolTableEntry::GetName(), G4LogicalVolume::GetName(), G3VolTableEntry::GetShape(), G4LogicalVolume::GetSolid(), G4ReflectionFactory::Instance(), name, G4ReflectionFactory::Place(), position, and G4ReflectionFactory::Replicate().

Referenced by G3toG4BuildPVTree().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G3Division::CreateSolid ( G4String  shape,
G4double  par[],
G4int  npar 
)
private

Definition at line 615 of file G3Division.cc.

References cm, deg, Exception(), FatalException, fIAxis, fOffset, fVTE, fWidth, G3toG4MakeSolid(), G4Exception(), G3VolTableEntry::GetName(), Rpar, G3VolTableEntry::SetHasNegPars(), G3VolTableEntry::SetNRpar(), and G3VolTableEntry::SetSolid().

Referenced by Dvn(), Dvn2(), Dvt(), and Dvt2().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G3VolTableEntry * G3Division::Dvn ( )
private

Definition at line 787 of file G3Division.cc.

References CreateSolid(), fHighRange, fLowRange, fMVTE, fNofDivisions, fWidth, G3VolTableEntry::GetNpar(), G3VolTableEntry::GetRpar(), G3VolTableEntry::GetShape(), and Rpar.

Referenced by UpdateVTE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G3VolTableEntry * G3Division::Dvn2 ( )
private

Definition at line 803 of file G3Division.cc.

References c0, cm, CreateEnvelope(), CreateSolid(), deg, fAxis, fC0, fHighRange, fLowRange, fMVTE, fNofDivisions, fWidth, G3VolTableEntry::GetNpar(), G3VolTableEntry::GetRpar(), G3VolTableEntry::GetShape(), kPhi, and Rpar.

Referenced by UpdateVTE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G3VolTableEntry * G3Division::Dvt ( )
private

Definition at line 831 of file G3Division.cc.

References cm, CreateEnvelope(), CreateSolid(), deg, fAxis, fHighRange, fLowRange, fMVTE, fNofDivisions, fStep, fWidth, G3VolTableEntry::GetNpar(), G3VolTableEntry::GetRpar(), G3VolTableEntry::GetShape(), kPhi, and Rpar.

Referenced by UpdateVTE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G3VolTableEntry * G3Division::Dvt2 ( )
private

Definition at line 872 of file G3Division.cc.

References c0, cm, CreateEnvelope(), CreateSolid(), deg, fAxis, fC0, fHighRange, fLowRange, fMVTE, fNofDivisions, fStep, fWidth, G3VolTableEntry::GetNpar(), G3VolTableEntry::GetRpar(), G3VolTableEntry::GetShape(), kPhi, and Rpar.

Referenced by UpdateVTE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G3Division::Exception ( G4String  where,
G4String  what 
)
private

Definition at line 181 of file G3Division.cc.

References FatalException, and G4Exception().

Referenced by CreateEnvelope(), CreateSolid(), and SetRangeAndAxis().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G3Division::SetRangeAndAxis ( )
private

Definition at line 190 of file G3Division.cc.

References assert, cm, deg, Exception(), FatalException, fAxis, fHighRange, fIAxis, fLowRange, fMVTE, G4cout, G4endl, G4Exception(), G3VolTableEntry::GetRpar(), G3VolTableEntry::GetShape(), kInfinity, kPhi, kRho, kXAxis, kYAxis, kZAxis, G4INCL::Math::max(), G4INCL::Math::min(), and Rpar.

Referenced by UpdateVTE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G3Division::UpdateVTE ( )

Definition at line 97 of file G3Division.cc.

References G3VolTableEntry::AddDaughter(), G3VolTableEntry::AddMother(), Dvn(), Dvn2(), Dvt(), Dvt2(), fMVTE, fNmed, fType, fVTE, G3VolTableEntry::GetNmed(), G3VolTableEntry::HasNegPars(), kDvn, kDvn2, kDvt, kDvt2, G3VolTableEntry::ReplaceDaughter(), G3VolTableEntry::ReplaceMother(), G3VolTableEntry::SetNmed(), and SetRangeAndAxis().

Referenced by G4CloneDaughters(), G4CreateCloneVTEWithDivision(), and G4ProcessDaughters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

EAxis G3Division::fAxis
private

Definition at line 96 of file G3Division.hh.

Referenced by CreatePVReplica(), Dvn2(), Dvt(), Dvt2(), G3Division(), and SetRangeAndAxis().

G4double G3Division::fC0
private

Definition at line 90 of file G3Division.hh.

Referenced by Dvn2(), Dvt2(), and G3Division().

G4double G3Division::fHighRange
private

Definition at line 93 of file G3Division.hh.

Referenced by Dvn(), Dvn2(), Dvt(), Dvt2(), G3Division(), and SetRangeAndAxis().

G4int G3Division::fIAxis
private
G4double G3Division::fLowRange
private

Definition at line 92 of file G3Division.hh.

Referenced by CreatePVReplica(), Dvn(), Dvn2(), Dvt(), Dvt2(), G3Division(), and SetRangeAndAxis().

G3VolTableEntry* G3Division::fMVTE
private
G4int G3Division::fNmed
private

Definition at line 89 of file G3Division.hh.

Referenced by CreateEnvelope(), G3Division(), and UpdateVTE().

G4int G3Division::fNofDivisions
private

Definition at line 87 of file G3Division.hh.

Referenced by CreatePVReplica(), Dvn(), Dvn2(), Dvt(), Dvt2(), and G3Division().

G4double G3Division::fOffset
private

Definition at line 95 of file G3Division.hh.

Referenced by CreatePVReplica(), CreateSolid(), and G3Division().

G4double G3Division::fStep
private

Definition at line 91 of file G3Division.hh.

Referenced by Dvt(), Dvt2(), and G3Division().

G3DivType G3Division::fType
private

Definition at line 84 of file G3Division.hh.

Referenced by G3Division(), and UpdateVTE().

G3VolTableEntry* G3Division::fVTE
private

Definition at line 85 of file G3Division.hh.

Referenced by CreateEnvelope(), CreatePVReplica(), CreateSolid(), G3Division(), and UpdateVTE().

G4double G3Division::fWidth
private

Definition at line 94 of file G3Division.hh.

Referenced by CreatePVReplica(), CreateSolid(), Dvn(), Dvn2(), Dvt(), Dvt2(), and G3Division().


The documentation for this class was generated from the following files: