PandaRoot
PndMultiField.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 // -------------------------------------------------------------------------
14 // ----- PndMultiField header file -----
15 // ----- Created 29/01/07 by M. Al/Turany -----
16 // -------------------------------------------------------------------------
25 #ifndef PNDMULTIMAP_H
26 #define PNDMULTIMAP_H 1
27 
28 #include "FairField.h"
29 #include "TObjArray.h"
30 #include <map>
31 
32 class PndMultiFieldPar;
33 class PndMultiField : public FairField {
34 
35  public:
37  PndMultiField();
38 
39  PndMultiField(TString Map, Double_t BeamMom = -1.);
40 
43 
45  virtual ~PndMultiField();
46 
48  void Init();
49 
52  void AddField(FairField *field);
53 
54  TObjArray *GetFieldList() { return fMaps; }
55 
56  void FillParContainer();
58  virtual void Print();
60 
61  Double_t GetBz(Double_t x, Double_t y, Double_t z);
62 
67  void GetFieldValue(const Double_t point[3], Double_t *bField);
68 
69  private:
70  PndMultiField(const PndMultiField &field);
71  PndMultiField &operator=(const PndMultiField &) { return *this; };
72 
73  protected:
74  TObjArray *fMaps;
75  Int_t fNoOfMaps;
76  std::vector<std::pair<std::pair<double, double>, FairField *>> fFieldMaps;
77  Double_t fBeamMom;
78 };
79 
80 #endif
TObjArray * fMaps
Definition: PndMultiField.h:71
Double_t fBeamMom
Definition: PndMultiField.h:77
void GetFieldValue(const Double_t point[3], Double_t *bField)
virtual ~PndMultiField()
TObjArray * GetFieldList()
Definition: PndMultiField.h:54
virtual void Print()
ClassDef(PndMultiField, 2) Double_t GetBz(Double_t x
void FillParContainer()
void AddField(FairField *field)
Double_t Double_t z
Definition: PndMultiField.h:61
std::vector< std::pair< std::pair< double, double >, FairField * > > fFieldMaps
Definition: PndMultiField.h:76