G4FieldManager.icc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // $Id: G4FieldManager.icc 69786 2013-05-15 09:38:51Z gcosmo $
00028 //
00029 //
00030 // G4FieldManager inline implementation 
00031 //
00032 // -------------------------------------------------------------------
00033 
00034 inline
00035 const G4Field* G4FieldManager::GetDetectorField() const
00036 { 
00037    // If pointer is null, should this raise an exception ??
00038    return fDetectorField;
00039 } 
00040 
00041 inline
00042 G4bool G4FieldManager::DoesFieldExist() const
00043 { 
00044    return (fDetectorField != 0);
00045 } 
00046 
00047 inline  
00048 void G4FieldManager::SetChordFinder(G4ChordFinder *aChordFinder)
00049 {
00050      fChordFinder= aChordFinder;
00051 }
00052 
00053 inline  
00054 G4ChordFinder*  G4FieldManager::GetChordFinder()
00055 {  
00056      return fChordFinder;
00057 }
00058 
00059 inline  
00060 const G4ChordFinder*  G4FieldManager::GetChordFinder() const
00061 {
00062      return fChordFinder;
00063 }
00064 
00065 inline
00066 G4double G4FieldManager::GetDeltaIntersection() const
00067 {
00068      return fDelta_Intersection_Val;
00069 }
00070 
00071 inline
00072 G4double G4FieldManager::GetDeltaOneStep() const
00073 {
00074      return fDelta_One_Step_Value;
00075 }
00076 
00077 inline
00078 void G4FieldManager::SetDeltaOneStep(G4double valDeltaOneStep)
00079 { 
00080      fDelta_One_Step_Value= valDeltaOneStep;  
00081 }
00082 
00083 inline
00084 void G4FieldManager::SetDeltaIntersection(G4double valDeltaIntersection)
00085 {
00086       fDelta_Intersection_Val = valDeltaIntersection;
00087 }
00088 
00089 inline
00090 void G4FieldManager::SetAccuraciesWithDeltaOneStep(G4double valDeltaOneStep)
00091 { 
00092       fDelta_One_Step_Value= valDeltaOneStep;  
00093       fDelta_Intersection_Val = 0.4 * fDelta_One_Step_Value;
00094 }
00095 
00096 inline G4bool   G4FieldManager::DoesFieldChangeEnergy() const
00097 { return fFieldChangesEnergy;}
00098 
00099 inline void     G4FieldManager::SetFieldChangesEnergy(G4bool value)
00100 { fFieldChangesEnergy = value; }
00101 
00102 
00103 
00104 // Minimum for Relative accuracy of any Step 
00105 inline 
00106 G4double  G4FieldManager::GetMinimumEpsilonStep() const
00107 {
00108   return fEpsilonMin; 
00109 }
00110 
00111 inline 
00112 void      G4FieldManager::SetMinimumEpsilonStep( G4double newEpsMin )
00113 {
00114   if( (newEpsMin > 0.0) && (std::fabs(1.0+newEpsMin) > 1.0) )
00115   {
00116     fEpsilonMin = newEpsMin;
00117   }
00118 }
00119 
00120 // Maximum for Relative accuracy of any Step 
00121 inline 
00122 G4double  G4FieldManager::GetMaximumEpsilonStep() const
00123 {
00124   return fEpsilonMax; 
00125 }
00126 
00127 inline 
00128 void      G4FieldManager::SetMaximumEpsilonStep( G4double newEpsMax )
00129 {
00130   if(    (newEpsMax > 0.0) 
00131       && (newEpsMax >= fEpsilonMin ) 
00132       && (std::fabs(1.0+newEpsMax)>1.0) )
00133   {
00134     fEpsilonMax = newEpsMax;
00135   }
00136 }

Generated on Mon May 27 17:48:16 2013 for Geant4 by  doxygen 1.4.7