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  public:
18 
19  ~FieldBuilder();
20 
21  void build(CMSFieldManager *fM, G4PropagatorInField *fP);
22 
23  void configureForVolume(const std::string &volName,
24  edm::ParameterSet &volPSet,
25  CMSFieldManager *fM,
26  G4PropagatorInField *fP);
27 
28  private:
30  G4Mag_UsualEqRhs *theFieldEquation;
31  G4LogicalVolume *theTopVolume;
33  double theDelta;
34  };
35 }; // namespace sim
36 
37 #endif
G4LogicalVolume * theTopVolume
Definition: FieldBuilder.h:31
FieldBuilder(const MagneticField *, const edm::ParameterSet &)
Definition: FieldBuilder.cc:23
void build(CMSFieldManager *fM, G4PropagatorInField *fP)
Definition: FieldBuilder.cc:31
G4Mag_UsualEqRhs * theFieldEquation
Definition: FieldBuilder.h:30
edm::ParameterSet thePSet
Definition: FieldBuilder.h:32
void configureForVolume(const std::string &volName, edm::ParameterSet &volPSet, CMSFieldManager *fM, G4PropagatorInField *fP)
Definition: FieldBuilder.cc:41