Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/materials/include/G4LatticePhysical.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /materials/include/G4LatticePhysical.hh (Version 11.3.0) and /materials/include/G4LatticePhysical.hh (Version 6.0.p1)


  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 /// \file materials/include/G4LatticePhysical.    
 27 /// \brief Definition of the G4LatticePhysical    
 28 //                                                
 29 // 20131114  Add verbosity for diagnostic outp    
 30 // 20131116  Replace G4Transform3D with G4Rota    
 31                                                   
 32 #ifndef G4LatticePhysical_h                       
 33 #define G4LatticePhysical_h 1                     
 34                                                   
 35 #include "G4LatticeLogical.hh"                    
 36 #include "G4RotationMatrix.hh"                    
 37 #include "G4ThreeVector.hh"                       
 38                                                   
 39 class G4LatticePhysical                           
 40 {                                                 
 41  public:                                          
 42   G4LatticePhysical(const G4LatticeLogical* La    
 43     const G4RotationMatrix* Rot = nullptr);  /    
 44   virtual ~G4LatticePhysical() = default;         
 45                                                   
 46   void SetVerboseLevel(G4int vb) { verboseLeve    
 47                                                   
 48   // NOTE:  Pass by value to allow in-situ rot    
 49   G4double MapKtoV(G4int, G4ThreeVector) const    
 50   G4ThreeVector MapKtoVDir(G4int, G4ThreeVecto    
 51                                                   
 52   void SetLatticeLogical(const G4LatticeLogica    
 53   void SetPhysicalOrientation(const G4Rotation    
 54   void SetLatticeOrientation(G4double, G4doubl    
 55   void SetMillerOrientation(G4int, G4int, G4in    
 56                                                   
 57  public:                                          
 58   const G4LatticeLogical* GetLattice() const {    
 59                                                   
 60   G4double GetScatteringConstant() const { ret    
 61   G4double GetAnhDecConstant() const { return     
 62   G4double GetLDOS() const { return fLattice->    
 63   G4double GetSTDOS() const { return fLattice-    
 64   G4double GetFTDOS() const { return fLattice-    
 65   G4double GetBeta() const { return fLattice->    
 66   G4double GetGamma() const { return fLattice-    
 67   G4double GetLambda() const { return fLattice    
 68   G4double GetMu() const { return fLattice->Ge    
 69                                                   
 70   // Apply orientation transforms to specified    
 71   G4ThreeVector RotateToGlobal(const G4ThreeVe    
 72   G4ThreeVector RotateToLocal(const G4ThreeVec    
 73                                                   
 74  private:                                         
 75   G4int verboseLevel{0};  // Enable diagnostic    
 76                                                   
 77   G4double fTheta{0}, fPhi{0};  // Lattice ori    
 78   const G4LatticeLogical* fLattice;  // Underl    
 79                                                   
 80   G4RotationMatrix fLocalToGlobal;                
 81   G4RotationMatrix fGlobalToLocal;                
 82 };                                                
 83                                                   
 84 #endif                                            
 85