CMS 3D CMS Logo

FieldBuilder.h
Go to the documentation of this file.
1 #ifndef SimG4Core_MagneticField_FieldBuilder_H
2 #define SimG4Core_MagneticField_FieldBuilder_H
3 
5 #include <memory>
6 
7 class MagneticField;
8 class CMSFieldManager;
9 class G4Mag_UsualEqRhs;
10 class G4PropagatorInField;
11 class G4LogicalVolume;
12 
13 namespace sim {
14  class Field;
15  class FieldBuilder {
16 
17  public:
18 
20 
21  ~FieldBuilder();
22 
23  void build(CMSFieldManager* fM, G4PropagatorInField* fP);
24 
25  void configureForVolume( const std::string& volName,
26  edm::ParameterSet& volPSet,
27  CMSFieldManager * fM,
28  G4PropagatorInField * fP);
29 
30  private:
31 
33  G4Mag_UsualEqRhs *theFieldEquation;
34  G4LogicalVolume *theTopVolume;
36  double theDelta;
37  };
38 };
39 
40 #endif
G4LogicalVolume * theTopVolume
Definition: FieldBuilder.h:34
FieldBuilder(const MagneticField *, const edm::ParameterSet &)
Definition: FieldBuilder.cc:23
void build(CMSFieldManager *fM, G4PropagatorInField *fP)
Definition: FieldBuilder.cc:34
G4Mag_UsualEqRhs * theFieldEquation
Definition: FieldBuilder.h:33
edm::ParameterSet thePSet
Definition: FieldBuilder.h:35
void configureForVolume(const std::string &volName, edm::ParameterSet &volPSet, CMSFieldManager *fM, G4PropagatorInField *fP)
Definition: FieldBuilder.cc:48