File indexing completed on 2025-01-18 09:58:52
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifndef G4ParticleHPField_h
0030 #define G4ParticleHPField_h 1
0031
0032 #include "G4ParticleHPFieldPoint.hh"
0033 #include "G4PhysicsVector.hh"
0034
0035 class G4ParticleHPField
0036 {
0037 public:
0038 G4ParticleHPField();
0039
0040 ~G4ParticleHPField();
0041
0042 inline void InitY(G4int i, G4int n)
0043 {
0044 Check(i);
0045 theData[i].InitY(n);
0046 }
0047 inline void SetData(G4int i, G4double x, G4int j, G4double y)
0048 {
0049 Check(i);
0050 theData[i].SetData(x, j, y);
0051 }
0052 inline void SetEnergy(G4int i, G4double e)
0053 {
0054 Check(i);
0055 theData[i].SetX(e);
0056 }
0057 inline void SetX(G4int i, G4double e)
0058 {
0059 Check(i);
0060 theData[i].SetX(e);
0061 }
0062 inline void SetY(G4int i, G4int j, G4double x)
0063 {
0064 Check(i);
0065 theData[i].SetY(j, x);
0066 }
0067 inline G4double GetEnergy(G4int i) { return theData[i].GetX(); }
0068 inline G4double GetX(G4int i) { return theData[i].GetX(); }
0069 inline G4double GetY(G4int i, G4int j) { return theData[i].GetY(j); }
0070 inline G4ParticleHPFieldPoint& GetPoint(G4int i) { return theData[i]; }
0071
0072 G4double GetY(G4double e, G4int j);
0073
0074 inline G4int GetFieldLength() { return nEntries; }
0075
0076 void Dump();
0077
0078 private:
0079 void Check(G4int i);
0080
0081 G4ParticleHPFieldPoint* theData;
0082 G4int nEntries;
0083 G4int nPoints;
0084 };
0085
0086 #endif