~max-mcginley/maus/third-order-lie-map

« back to all changes in this revision

Viewing changes to BfieldIntegrator.hh

  • Committer: Max McGinley
  • Date: 2016-09-27 08:31:36 UTC
  • Revision ID: max.mcginley@stfc.ac.uk-20160927083136-nuj9tcm1guuexcqb
Starting extra-MAUS portability

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
#define MAUS_WORK_BFIELD_INTEGRATOR_HH
3
3
 
4
4
#include <exception>
5
 
 
6
 
#include "Simulation/MAUSGeant4Manager.hh"
7
 
#include "FieldTools/SectorMagneticFieldMap.hh"
8
 
#include "Utils/Globals.hh"
9
 
#include "legacy/BeamTools/BTField.hh"
10
 
#include "gsl/gsl_integration.h"
11
5
#include "max_globals.hh"
12
6
#include "solenoid_models.hh"
13
 
#include "LiePolynomial.hh"
14
 
#include "Maths/PolynomialMap.hh"
15
7
 
16
8
#define MEMOIZATION
17
9
 
34
26
        double getFifthDerivative(double z);
35
27
        
36
28
        
37
 
        static std::vector<double> getBField(BTField* f, double x, double y, double z);
 
29
        
38
30
        
39
31
        std::vector<double> getVectorPotential(double x, double y, double z,unsigned int order = 1);
40
32
        
126
118
        double step;
127
119
};
128
120
 
129
 
class BfieldIntegratorMap : public BfieldIntegrator {
130
 
public:
131
 
        BfieldIntegratorMap(BTField* field);
132
 
        virtual double getBField(double z);
133
 
        virtual std::vector<double> getBFieldVec(double x,double y, double z);
134
 
        BTField* getBField() {return bField;}
135
 
        void TESTVectorPotential();
136
 
        std::vector<double> getVectorPotentialAnalytic(double x, double y, double z);
137
 
private:
138
 
        BTField* bField;
139
 
};
 
121
 
140
122
 
141
123
class BfieldIntegratorDoubleTable : public BfieldIntegratorTable {
142
124
public: