EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PndMultiField.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PndMultiField.h
1 // -------------------------------------------------------------------------
2 // ----- PndMultiField header file -----
3 // ----- Created 29/01/07 by M. Al/Turany -----
4 // -------------------------------------------------------------------------
14 #ifndef PNDMULTIMAP_H
15 #define PNDMULTIMAP_H 1
16 
17 #include "FairField.h"
18 #include "TObjArray.h"
19 #include <map>
20 
21 class PndRegion;
22 class PndMultiFieldPar;
23 class PndMultiField : public FairField {
24 
25 public:
26 
28  PndMultiField();
29 
30  PndMultiField(TString Map, Double_t BeamMom=15.0);
31 
32 
35 
37  virtual ~PndMultiField();
38 
40  void Init();
41 
44  void AddField(FairField *field);
45 
46  TObjArray *GetFieldList(){return fMaps; }
47 
48 
49  void FillParContainer();
51  virtual void Print();
53 
54 
58  void GetFieldValue(const Double_t point[3], Double_t* bField);
59  private:
61  PndMultiField& operator= (const PndMultiField&) {return *this;};
62 
63  protected:
64 
65  TObjArray *fMaps;
66  Int_t fNoOfMaps;
67  std::map <PndRegion*, FairField* > fFieldMaps;
68  std::map <PndRegion*, FairField* >::iterator fMapIter;
69  Double_t fBeamMom;
70 
71 };
72 
73 #endif
74 
75 
76