Geant4 Cross Reference |
>> 1 // This code implementation is the intellectual property of >> 2 // the GEANT4 collaboration. 1 // 3 // 2 // ******************************************* << 4 // By copying, distributing or modifying the Program (or any work 3 // * License and Disclaimer << 5 // based on the Program) you indicate your acceptance of this statement, 4 // * << 6 // and all its terms. 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 // 7 // 26 // class G4VPhysicalVolume inline implementati << 8 // $Id: G4VPhysicalVolume.icc,v 1.3 1999/12/15 14:49:51 gunter Exp $ >> 9 // GEANT4 tag $Name: geant4-01-01 $ >> 10 // >> 11 // >> 12 // class G4VPhysicalVolume Inline Implementation 27 // 13 // 28 // ------------------------------------------- << 29 14 30 inline << 15 // Define equality by equal addresses only. 31 G4bool G4VPhysicalVolume::operator == (const G << 16 inline G4bool G4VPhysicalVolume::operator == (const G4VPhysicalVolume& p) const 32 { << 17 { 33 return this==&right; << 18 return (this==&p) ? true : false; 34 } << 19 } 35 << 20 36 inline << 21 // Access functions 37 G4int G4VPhysicalVolume::GetInstanceID() const << 22 inline const G4ThreeVector& G4VPhysicalVolume::GetTranslation() const 38 { << 23 { 39 return instanceID; << 24 return ftrans; 40 } << 25 } 41 << 26 inline void G4VPhysicalVolume::SetTranslation(const G4ThreeVector &v) 42 inline << 27 { 43 G4LogicalVolume* G4VPhysicalVolume::GetLogical << 28 ftrans=v; 44 { << 29 } 45 return flogical; << 30 inline const G4RotationMatrix* G4VPhysicalVolume::GetRotation() const 46 } << 31 { 47 << 32 return frot; 48 inline << 33 } 49 void G4VPhysicalVolume::SetLogicalVolume(G4Log << 34 inline G4RotationMatrix* G4VPhysicalVolume::GetRotation() 50 { << 35 { 51 flogical = pLogical; << 36 return frot; 52 } << 37 } 53 << 38 inline void G4VPhysicalVolume::SetRotation(G4RotationMatrix *pRot) 54 inline << 39 { 55 G4LogicalVolume* G4VPhysicalVolume::GetMotherL << 40 frot=pRot; 56 { << 41 } 57 return flmother; << 42 58 } << 43 inline G4LogicalVolume* G4VPhysicalVolume::GetLogicalVolume() const 59 << 44 { 60 inline << 45 return flogical; 61 void G4VPhysicalVolume::SetMotherLogical(G4Log << 46 } 62 { << 47 63 flmother = pMother; << 48 inline void G4VPhysicalVolume::SetLogicalVolume(G4LogicalVolume *pLogical) 64 } << 49 { 65 << 50 flogical=pLogical; 66 inline << 51 } 67 const G4String& G4VPhysicalVolume::GetName() c << 52 68 { << 53 inline G4VPhysicalVolume* G4VPhysicalVolume::GetMother() const 69 return fname; << 54 { 70 } << 55 return fmother; 71 << 56 } 72 inline << 57 73 EVolume G4VPhysicalVolume::DeduceVolumeType() << 58 inline void G4VPhysicalVolume::SetMother(G4VPhysicalVolume *pMother) 74 { << 59 { 75 EVolume type; << 60 fmother=pMother; 76 EAxis axis; << 61 } 77 G4int nReplicas; << 62 78 G4double width,offset; << 63 inline G4String G4VPhysicalVolume::GetName() const 79 G4bool consuming; << 64 { 80 if ( IsReplicated() ) << 65 return fname; 81 { << 66 } 82 GetReplicationData(axis,nReplicas,width,of << 67 83 type = (consuming) ? kReplica : kParameter << 68 inline void G4VPhysicalVolume::SetName(const G4String& pName) 84 } << 69 { 85 else << 70 fname=pName; 86 { << 71 } 87 type = kNormal; << 72 88 } << 73 inline G4RotationMatrix G4VPhysicalVolume::GetObjectRotationValue() const 89 return type; << 74 { 90 } << 75 G4RotationMatrix aRotM; // Initialised to identity >> 76 >> 77 // Insure against frot being a null pointer >> 78 if(frot) >> 79 { >> 80 aRotM= frot->inverse(); >> 81 } >> 82 return aRotM; >> 83 } >> 84 inline G4ThreeVector G4VPhysicalVolume::GetObjectTranslation() const >> 85 { >> 86 return ftrans; >> 87 } >> 88 inline const G4RotationMatrix* G4VPhysicalVolume::GetFrameRotation() const >> 89 { >> 90 return frot; >> 91 } >> 92 inline G4ThreeVector G4VPhysicalVolume::GetFrameTranslation() const >> 93 { >> 94 return -ftrans; >> 95 } 91 96