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 // << 26 // 7 // >> 8 // $Id: G4VModel.cc,v 1.4 1999/12/15 14:54:32 gunter Exp $ >> 9 // GEANT4 tag $Name: geant4-02-00 $ 27 // 10 // 28 // 11 // 29 // John Allison 31st December 1997. 12 // John Allison 31st December 1997. 30 // Base class for models. 13 // Base class for models. 31 14 32 #include "G4VModel.hh" 15 #include "G4VModel.hh" 33 16 34 #include "G4RotationMatrix.hh" << 35 #include "G4ModelingParameters.hh" 17 #include "G4ModelingParameters.hh" 36 18 37 G4VModel::G4VModel (const G4ModelingParameters << 19 G4VModel::G4VModel (const G4Transform3D& modelTransformation, 38 fType ("Other"), << 20 const G4ModelingParameters* pMP): 39 fGlobalTag ("Empty"), << 21 fTransform (modelTransformation), 40 fGlobalDescription ("Empty"), << 41 fpMP (pMP) 22 fpMP (pMP) 42 {} << 23 { 43 << 24 fGlobalTag = "Default Global Tag"; 44 G4VModel::~G4VModel () {} << 25 fGlobalDescription = "Default Global Description"; 45 << 46 G4String G4VModel::GetCurrentTag () const { << 47 // Override in concrete class if concept of << 48 return fGlobalTag; << 49 } 26 } 50 27 51 G4String G4VModel::GetCurrentDescription () co << 28 G4VModel::~G4VModel () {} 52 // Override in concrete class if concept of << 53 return fGlobalDescription; << 54 } << 55 << 56 G4bool G4VModel::Validate (G4bool) { << 57 return true; << 58 } << 59 29 60 std::ostream& operator << (std::ostream& os, c << 30 G4std::ostream& operator << (G4std::ostream& os, const G4VModel& m) { 61 os << model.fGlobalDescription; << 31 os << m.fGlobalDescription; 62 os << "\n Modeling parameters:"; 32 os << "\n Modeling parameters:"; 63 const G4ModelingParameters* mp = model.fpMP; << 33 if (m.fpMP) { 64 if (mp) os << "\n " << *mp; << 34 os << "\n " << *(m.fpMP); 65 else os << " none."; << 35 } 66 os << "\n Extent: " << model.fExtent; << 36 else { >> 37 os << " none."; >> 38 } >> 39 os << "\n Extent: " << m.fExtent; >> 40 os << "\n Transformation: "; >> 41 os << "\n Rotation: "; >> 42 HepRotation rotation = m.fTransform.getRotation (); >> 43 os << rotation.thetaX() << ", " >> 44 << rotation.phiX() << ", " >> 45 << rotation.thetaY() << ", " >> 46 << rotation.phiY() << ", " >> 47 << rotation.thetaZ() << ", " >> 48 << rotation.phiZ(); >> 49 os << "\n Translation: " << m.fTransform.getTranslation (); 67 return os; 50 return os; 68 } 51 } 69 52