ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
F02ElectricFieldSetup.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file F02ElectricFieldSetup.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
28 //
29 //
30 //
31 //
32 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
33 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
34 
35 #ifndef F02ElectricFieldSetup_h
36 #define F02ElectricFieldSetup_h 1
37 
38 #include "G4ElectricField.hh"
40 
41 class G4FieldManager;
42 class G4ChordFinder;
43 class G4EquationOfMotion;
44 class G4Mag_EqRhs;
47 class G4MagInt_Driver;
48 class F02FieldMessenger;
49 
56 
58 {
59 public:
60  F02ElectricFieldSetup(G4ThreeVector); // The value of the field
61  F02ElectricFieldSetup(); // A zero field - true value set later
62 
63  virtual ~F02ElectricFieldSetup();
64 
65  // Methods to set parameters or select
67 
68  void SetMinStep(G4double s) { fMinStep = s ; }
69 
70  void SetFieldValue(G4ThreeVector fieldVector);
71  void SetFieldZValue(G4double fieldValue);
73  // Set/Get Field strength in Geant4 units
74 
75  void UpdateIntegrator();
76  // Prepare all the classes required for tracking - from stepper
77  // to Chord-Finder
78  // NOTE: field and equation must have been created before calling this.
79 
80 protected:
81 
82  // Find the global Field Manager
83 
85 
86  void CreateStepper();
87  // Implementation method - should not be exposed
88 
89 private:
92 
94 
96 
98 
100 
102 
105 
107 
108 
110 
111 };
112 
113 #endif