00001 #ifndef VIS_MAGNETIC_FIELD_VIS_CMSMAG_FIELD_H 00002 # define VIS_MAGNETIC_FIELD_VIS_CMSMAG_FIELD_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Inventor/interface/IgSbField.h" 00007 # include "FWCore/Framework/interface/EventSetup.h" 00008 # include "FWCore/Framework/interface/ESHandle.h" 00009 # include "MagneticField/Engine/interface/MagneticField.h" 00010 00011 //<<<<<< PUBLIC DEFINES >>>>>> 00012 //<<<<<< PUBLIC CONSTANTS >>>>>> 00013 //<<<<<< PUBLIC TYPES >>>>>> 00014 //<<<<<< PUBLIC VARIABLES >>>>>> 00015 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00016 //<<<<<< CLASS DECLARATIONS >>>>>> 00017 00018 class VisCMSMagField : public IgSbField 00019 { 00020 public: 00021 VisCMSMagField (void); 00022 // implicit copy constructor 00023 // implicit assignment operator 00024 // implicit destructor 00025 00026 virtual void setField (const edm::EventSetup& eventSetup); 00027 virtual void evaluate (const double point [3], double field []) const; 00028 bool valid (void); 00029 00030 private: 00031 edm::ESHandle<MagneticField> m_pSetup; 00032 bool m_valid; 00033 }; 00034 00035 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00036 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00037 00038 #endif // VIS_MAGNETIC_FIELD_VIS_CMSMAG_FIELD_H