MollerGlobalMagnetField.hh

Go to the documentation of this file.
00001 //=============================================================================
00002 // 
00003 //   ---------------------------
00004 //  | Doxygen File Information |
00005 //  ---------------------------
00006 /**
00007  
00008    \file MollerGlobalMagnetField.hh
00009    $Revision: 1.2 $ 
00010    $Date: 2005/12/27 19:24:27 $
00011    \author Klaus Hans Grimm
00012      
00013 */
00014 //=============================================================================
00015 // 
00016 //=============================================================================
00017 // 
00018 //   ---------------------------
00019 //  | Doxygen Class Information |
00020 //  ---------------------------
00021 /**
00022    \class MollerGlobalMagnetField
00023     
00024    \brief Set in MollerDetectorConstruction as the field manager.
00025 
00026  MollerGlobalMagnetField::MollerGlobalMagnetField() sets the field map names, initializes 
00027  the grid after setting the min and max r, z, phi, and reads in the maps.  
00028  MollerGlobalMagnetField::GetFieldValue() adds the field value for the hybrid and upstream toroids 
00029  from MollerMagnetFieldMap::GetFieldValue (which does the interpolation) during tracking.
00030 
00031     
00032  */
00033 //=============================================================================
00034 //
00035 //=============================================================================
00036 //   -----------------------
00037 //  | CVS File Information |
00038 //  -----------------------
00039 // 
00040 //  Last Update:      $Author: grimm $
00041 //  Update Date:      $Date: 2005/12/27 19:24:27 $
00042 //  CVS/RCS Revision: $Revision: 1.2 $
00043 //  Status:           $State: Exp $
00044 // 
00045 // ===================================
00046 //  CVS Revision Log at end of file !!
00047 // ===================================
00048 // 
00049 //=============================================================================
00050 
00051 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00052 #ifndef MollerGlobalMagnetField_h
00053 #define MollerGlobalMagnetField_h 
00054 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00055 
00056 // geant4 includes
00057 #include "Geant4_include.hh" 
00058 
00059 // user includes
00060 #include "MollerMagnetFieldMap.hh"
00061 #include "MollerGlobalMagnetFieldMessenger.hh"
00062 
00063 // user classes
00064 //class MollerGlobalMagnetFieldMessenger;
00065 class MollerMagnetFieldMap;
00066 class MollerGlobalMagnetFieldMessenger;
00067 
00068 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00069 class MollerGlobalMagnetField : public G4MagneticField
00070 {
00071 public:
00072 
00073    MollerGlobalMagnetField();
00074   ~MollerGlobalMagnetField();
00075 
00076 
00077   void SetHybridMapFile(const G4String&);
00078   void SetUpstreamMapFile(const G4String&);
00079 
00080   void ReadMagneticField();
00081 
00082   void GetFieldValue( const  G4double Point[4], G4double *Bfield ) const;  
00083 
00084 private:
00085 
00086   //MollerGlobalMagnetFieldMessenger*      fGlobalMagnetFieldMessenger;
00087 
00088   MollerMagnetFieldMap*  fMagneticField_MainMagnet;
00089   MollerMagnetFieldMap*  fMagneticField_MiniMagnet;
00090   
00091   MollerGlobalMagnetFieldMessenger* fieldMessenger;   //messenger of this class
00092 
00093   G4double BFieldScalingFactor_MainMagnet;
00094   G4double BFieldScalingFactor_MiniMagnet;
00095   
00096   G4String upstreamFilename;
00097   G4String hybridFilename;
00098 
00099 
00100 };
00101 
00102 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
00103 
00104 #endif
00105 
00106 //=======================================================================================
00107 //   -----------------------
00108 //  | CVS File Information |
00109 //  -----------------------
00110 // 
00111 //      $Revisions$  
00112 //      $Log: MollerGlobalMagnetField.hh,v $
00113 //      Revision 1.2  2005/12/27 19:24:27  grimm
00114 //      - Redesign of Doxygen header containing CVS info like revision and date
00115 //      - Added CVS revision log at the end of file
00116 //
00117 // 

Generated on 16 Jun 2013 for mollersim by  doxygen 1.6.1