Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // Class G4AssemblyTriplet - inline implementa 27 // 28 // ------------------------------------------- 29 30 inline 31 G4AssemblyTriplet::G4AssemblyTriplet() 32 { 33 G4ThreeVector v(0.,0.,0.); 34 fTranslation = v; 35 } 36 37 inline 38 G4AssemblyTriplet::G4AssemblyTriplet( G4Logica 39 G4ThreeV 40 G4Rotati 41 G4bool i 42 : fVolume( pVolume ), fTranslation( translat 43 fIsReflection(isReflection) 44 { 45 } 46 47 inline 48 G4AssemblyTriplet::G4AssemblyTriplet( G4Assemb 49 G4ThreeV 50 G4Rotati 51 G4bool i 52 : fTranslation( translation ), fRotation( pR 53 fAssembly( pAssembly ), fIsReflection(isRe 54 { 55 } 56 57 inline 58 G4AssemblyTriplet::G4AssemblyTriplet( const G4 59 { 60 fVolume = scopy.GetVolume(); 61 fRotation = scopy.GetRotation(); 62 fTranslation = scopy.GetTranslation(); 63 fAssembly = scopy.GetAssembly(); 64 fIsReflection = scopy.IsReflection(); 65 } 66 67 inline 68 G4AssemblyTriplet::~G4AssemblyTriplet() = defa 69 70 inline 71 G4LogicalVolume* G4AssemblyTriplet::GetVolume( 72 { 73 return fVolume; 74 } 75 76 inline 77 void G4AssemblyTriplet::SetVolume( G4LogicalVo 78 { 79 if ( fAssembly != nullptr ) 80 { 81 G4Exception("G4AssemblyTriplet::SetVolume( 82 "GeomVol1001", JustWarning, 83 "There is an assembly already 84 } 85 fVolume = pVolume; 86 fAssembly = nullptr; 87 } 88 89 inline 90 G4AssemblyVolume* G4AssemblyTriplet::GetAssemb 91 { 92 return fAssembly; 93 } 94 95 inline 96 void G4AssemblyTriplet::SetAssembly( G4Assembl 97 { 98 if ( fVolume != nullptr ) 99 { 100 G4Exception("G4AssemblyTriplet::SetAssembl 101 "GeomVol1001", JustWarning, 102 "There is a volume already set 103 } 104 fAssembly = pAssembly; 105 fVolume = nullptr; 106 } 107 108 inline 109 G4ThreeVector G4AssemblyTriplet::GetTranslatio 110 { 111 return fTranslation; 112 } 113 114 inline 115 void G4AssemblyTriplet::SetTranslation( G4Thre 116 { 117 fTranslation = translation; 118 } 119 120 inline 121 G4RotationMatrix* G4AssemblyTriplet::GetRotati 122 { 123 return fRotation; 124 } 125 126 inline 127 void G4AssemblyTriplet::SetRotation( G4Rotatio 128 { 129 fRotation = pRotation; 130 } 131 132 inline 133 G4bool G4AssemblyTriplet::IsReflection() const 134 { 135 return fIsReflection; 136 } 137 138 inline 139 G4AssemblyTriplet& 140 G4AssemblyTriplet::operator=( const G4Assembly 141 { 142 if( this != &scopy ) 143 { 144 fVolume = scopy.GetVolume(); 145 fRotation = scopy.GetRotation(); 146 fTranslation = scopy.GetTranslation(); 147 fAssembly = scopy.GetAssembly(); 148 fIsReflection = scopy.IsReflection(); 149 } 150 151 return *this; 152 } 153