Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4tgrPlaceDivRep Class Reference

#include <G4tgrPlaceDivRep.hh>

+ Inheritance diagram for G4tgrPlaceDivRep:

Public Member Functions

 G4tgrPlaceDivRep ()
 
 ~G4tgrPlaceDivRep ()
 
 G4tgrPlaceDivRep (const std::vector< G4String > &wl)
 
EAxis BuildAxis (const G4String &axisName)
 
EAxis GetAxis () const
 
G4int GetNDiv () const
 
G4double GetWidth () const
 
G4double GetOffset () const
 
G4DivType GetDivType () const
 
void SetParentName (const G4String &parentName)
 
void SetNDiv (G4int ndiv)
 
void SetWidth (G4double width)
 
void SetAxis (EAxis axis)
 
void SetOffset (G4double offset)
 
void SetDivType (G4DivType typ)
 
- Public Member Functions inherited from G4tgrPlace
 G4tgrPlace ()
 
virtual ~G4tgrPlace ()
 
const G4StringGetParentName () const
 
G4tgrVolumeGetVolume () const
 
unsigned int GetCopyNo () const
 
const G4StringGetType () const
 
void SetVolume (G4tgrVolume *vol)
 
void SetType (const G4String &typ)
 
virtual G4ThreeVector GetPlacement () const
 

Friends

std::ostream & operator<< (std::ostream &os, const G4tgrPlaceDivRep &obj)
 

Additional Inherited Members

- Protected Attributes inherited from G4tgrPlace
G4tgrVolumetheVolume = nullptr
 
G4String theParentName = ""
 
unsigned int theCopyNo = 0
 
G4String theType = ""
 

Detailed Description

Definition at line 51 of file G4tgrPlaceDivRep.hh.

Constructor & Destructor Documentation

◆ G4tgrPlaceDivRep() [1/2]

G4tgrPlaceDivRep::G4tgrPlaceDivRep ( )

Definition at line 39 of file G4tgrPlaceDivRep.cc.

40{
41}

◆ ~G4tgrPlaceDivRep()

G4tgrPlaceDivRep::~G4tgrPlaceDivRep ( )

Definition at line 44 of file G4tgrPlaceDivRep.cc.

45{
46}

◆ G4tgrPlaceDivRep() [2/2]

G4tgrPlaceDivRep::G4tgrPlaceDivRep ( const std::vector< G4String > & wl)

Definition at line 49 of file G4tgrPlaceDivRep.cc.

50{
51 theDivType = DivByNdivAndWidth;
52
53 // Name parent axis nrep width offset
55 "G4tgrPlaceDivRep::G4tgrPlaceDivRep");
57 "G4tgrPlaceDivRep::G4tgrPlaceDivRep");
58
60 theAxis = BuildAxis(G4tgrUtils::GetString(wl[3]));
61 theNDiv = G4tgrUtils::GetInt(wl[4]);
62 theWidth = G4tgrUtils::GetDouble(wl[5]) * mm; // check if it is deg
63 if(wl.size() == 7)
64 {
65 theOffset = G4tgrUtils::GetDouble(wl[6]) * mm; // check if it is deg
66 }
67 else
68 {
69 theOffset = 0.;
70 }
71
72#ifdef G4VERBOSE
74 {
75 G4cout << " Created " << *this << G4endl;
76 }
77#endif
78}
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
@ DivByNdivAndWidth
@ WLSIZE_GE
Definition G4tgrUtils.hh:51
@ WLSIZE_LE
Definition G4tgrUtils.hh:49
static G4int GetVerboseLevel()
EAxis BuildAxis(const G4String &axisName)
G4String theParentName
Definition G4tgrPlace.hh:66
static G4String GetString(const G4String &str)
static void CheckWLsize(const std::vector< G4String > &wl, unsigned int nWCheck, WLSIZEtype st, const G4String &methodName)
static G4int GetInt(const G4String &str)
static G4double GetDouble(const G4String &str, G4double unitval=1.)

Member Function Documentation

◆ BuildAxis()

EAxis G4tgrPlaceDivRep::BuildAxis ( const G4String & axisName)

Definition at line 81 of file G4tgrPlaceDivRep.cc.

82{
83 if(axisName == "X")
84 {
85 return kXAxis;
86 }
87 else if(axisName == "Y")
88 {
89 return kYAxis;
90 }
91 else if(axisName == "Z")
92 {
93 return kZAxis;
94 }
95 else if(axisName == "R")
96 {
97 return kRho;
98 }
99 else if(axisName == "PHI")
100 {
101 return kPhi;
102 }
103 else
104 {
105 G4String ErrMessage = "Axis type not found: " + axisName +
106 ". Only valid axis are: X, Y, Z, R, PHI !";
107 G4Exception("G4tgrVolumeDivision::GetReplicaAxis()", "InvalidAxis",
108 FatalException, ErrMessage);
109 }
110 return kXAxis; // to avoid warning errors
111}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
@ kPhi
Definition geomdefs.hh:60
@ kYAxis
Definition geomdefs.hh:56
@ kXAxis
Definition geomdefs.hh:55
@ kZAxis
Definition geomdefs.hh:57
@ kRho
Definition geomdefs.hh:58

Referenced by G4tgrPlaceDivRep(), and G4tgrVolumeDivision::G4tgrVolumeDivision().

◆ GetAxis()

EAxis G4tgrPlaceDivRep::GetAxis ( ) const
inline

Definition at line 66 of file G4tgrPlaceDivRep.hh.

66{ return theAxis; }

Referenced by G4tgbVolume::ConstructG4PhysVol().

◆ GetDivType()

G4DivType G4tgrPlaceDivRep::GetDivType ( ) const
inline

Definition at line 70 of file G4tgrPlaceDivRep.hh.

70{ return theDivType; }

Referenced by G4tgbVolume::ConstructG4PhysVol().

◆ GetNDiv()

G4int G4tgrPlaceDivRep::GetNDiv ( ) const
inline

Definition at line 67 of file G4tgrPlaceDivRep.hh.

67{ return theNDiv; }

Referenced by G4tgbVolume::ConstructG4PhysVol().

◆ GetOffset()

G4double G4tgrPlaceDivRep::GetOffset ( ) const
inline

Definition at line 69 of file G4tgrPlaceDivRep.hh.

69{ return theOffset; }

Referenced by G4tgbVolume::ConstructG4PhysVol().

◆ GetWidth()

G4double G4tgrPlaceDivRep::GetWidth ( ) const
inline

Definition at line 68 of file G4tgrPlaceDivRep.hh.

68{ return theWidth; }

Referenced by G4tgbVolume::ConstructG4PhysVol().

◆ SetAxis()

void G4tgrPlaceDivRep::SetAxis ( EAxis axis)
inline

Definition at line 75 of file G4tgrPlaceDivRep.hh.

75{ theAxis = axis; }

Referenced by G4tgrVolumeDivision::G4tgrVolumeDivision().

◆ SetDivType()

void G4tgrPlaceDivRep::SetDivType ( G4DivType typ)
inline

Definition at line 77 of file G4tgrPlaceDivRep.hh.

77{ theDivType = typ; }

Referenced by G4tgrVolumeDivision::G4tgrVolumeDivision().

◆ SetNDiv()

void G4tgrPlaceDivRep::SetNDiv ( G4int ndiv)
inline

Definition at line 73 of file G4tgrPlaceDivRep.hh.

73{ theNDiv = ndiv; }

Referenced by G4tgrVolumeDivision::G4tgrVolumeDivision().

◆ SetOffset()

void G4tgrPlaceDivRep::SetOffset ( G4double offset)
inline

Definition at line 76 of file G4tgrPlaceDivRep.hh.

76{ theOffset = offset; }

Referenced by G4tgrVolumeDivision::G4tgrVolumeDivision().

◆ SetParentName()

void G4tgrPlaceDivRep::SetParentName ( const G4String & parentName)
inline

Definition at line 72 of file G4tgrPlaceDivRep.hh.

72{ theParentName=parentName; }

Referenced by G4tgrVolumeDivision::G4tgrVolumeDivision().

◆ SetWidth()

void G4tgrPlaceDivRep::SetWidth ( G4double width)
inline

Definition at line 74 of file G4tgrPlaceDivRep.hh.

74{ theWidth = width; }

Referenced by G4tgrVolumeDivision::G4tgrVolumeDivision().

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const G4tgrPlaceDivRep & obj )
friend

Definition at line 114 of file G4tgrPlaceDivRep.cc.

115{
116 os << "G4tgrPlaceDivRep= in " << obj.theParentName << " NDiv= " << obj.theNDiv
117 << " Width= " << obj.theWidth << " Axis= " << obj.theAxis
118 << " Offset= " << obj.theOffset << " DivType= " << obj.theDivType
119 << G4endl;
120
121 return os;
122}

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