Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/global/management/include/G4UserLimits.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 /global/management/include/G4UserLimits.hh (Version 11.3.0) and /global/management/include/G4UserLimits.hh (Version ReleaseNotes)


** Warning: Cannot open xref database.

  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 // G4UserLimits                                   
 27 //                                                
 28 // Class description:                             
 29 //                                                
 30 // Simple placeholder for user Step limitation    
 31 // In order to activate these limitations, use    
 32 // their "special" processes to each particle     
 33 // Sample processes below can be found under p    
 34 //   MaxAllowedStep    : UserStepLimit            
 35 //   other limitation  : UserSpecialCuts          
 36 // In addition, users can add their own Step l    
 37 // a new class derived from G4UserLimits. In t    
 38 // is supposed to be used to identify the clas    
 39                                                   
 40 // Author: Paul Kent, August 1996                 
 41 // Revisions:                                     
 42 // - 01-11-1997, H.Kurashige: changed GetMaxAl    
 43 // - 08-04-1998: M.Maire: new data members        
 44 // -------------------------------------------    
 45 #ifndef G4USERLIMITS_HH                           
 46 #define G4USERLIMITS_HH 1                         
 47                                                   
 48 #include "globals.hh"                             
 49                                                   
 50 class G4Track;                                    
 51                                                   
 52 class G4UserLimits                                
 53 {                                                 
 54  public:                                          
 55   G4UserLimits(G4double ustepMax = DBL_MAX, G4    
 56                G4double utimeMax = DBL_MAX, G4    
 57                G4double urangMin = 0.);           
 58   G4UserLimits(const G4String& type, G4double     
 59                G4double utrakMax = DBL_MAX, G4    
 60                G4double uekinMin = 0., G4doubl    
 61   virtual ~G4UserLimits();                        
 62                                                   
 63   virtual G4double GetMaxAllowedStep(const G4T    
 64   // If a logical volume has a G4UserLimits ob    
 65   // be limited as shorter than MaxAllowedStep    
 66                                                   
 67   virtual G4double GetUserMaxTrackLength(const    
 68   virtual G4double GetUserMaxTime(const G4Trac    
 69   virtual G4double GetUserMinEkine(const G4Tra    
 70   virtual G4double GetUserMinRange(const G4Tra    
 71                                                   
 72   virtual void SetMaxAllowedStep(G4double uste    
 73   virtual void SetUserMaxTrackLength(G4double     
 74   virtual void SetUserMaxTime(G4double utimeMa    
 75   virtual void SetUserMinEkine(G4double uekinM    
 76   virtual void SetUserMinRange(G4double urangM    
 77                                                   
 78   const G4String& GetType() const;                
 79   void SetType(const G4String& type);             
 80   // Set/Get type name for UserLimits.            
 81   // This type member is supposed to be used t    
 82   // each concrete instantiation of G4UserLimi    
 83   // use special classes derived from this bas    
 84   // class with a proper identifier               
 85                                                   
 86  protected:                                       
 87   G4double fMaxStep  = 0.;  // max allowed Ste    
 88   G4double fMaxTrack = 0.;  // max total track    
 89   G4double fMaxTime  = 0.;  // max time           
 90   G4double fMinEkine = 0.;  // min kinetic ene    
 91   G4double fMinRange = 0.;  // min remaining r    
 92                                                   
 93   G4String fType;  // type name                   
 94 };                                                
 95                                                   
 96 #include "G4UserLimits.icc"                       
 97                                                   
 98 #endif                                            
 99