Project
Loading...
Searching...
No Matches
FairField.h
Go to the documentation of this file.
1/********************************************************************************
2 * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3 * *
4 * This software is distributed under the terms of the *
5 * GNU Lesser General Public Licence (LGPL) version 3, *
6 * copied verbatim in the file "LICENSE" *
7 ********************************************************************************/
8// Modified for ALICE O2 in 2026: parts not used by O2 were removed (see README.md in this directory).
9// -------------------------------------------------------------------------
10// ----- FairField header file -----
11// ----- Created 06/01/04 by M. Al-Turany -----
12// ----- Redesign 13/02/06 by V. Friese -----
13// ----- Redesign 04/08/06 by M. Al-Turany -----
14// -------------------------------------------------------------------------
15
29#ifndef FAIRFIELD_H
30#define FAIRFIELD_H 1
31
32#include "FairLogger.h"
33
34#include <Rtypes.h> // for Double_t, Bool_t, etc
35#include <TVirtualMagField.h>
36
38{
39 public:
41 FairField();
42
44 FairField(const char* name, const char* title = "FAIR Magnetic Field");
45
46 FairField& operator=(const FairField&) { return *this; }
47
49 virtual ~FairField();
50
54 virtual void Init(){};
55
57 Bool_t IsConst();
58
60 Bool_t IsMap();
61
63 Int_t GetType() const { return fType; }
64
68 virtual Double_t GetBx(Double_t, Double_t, Double_t)
69 {
70 LOG(warn) << "FairField::GetBx Should be implemented in User class";
71 return 0;
72 }
73
77 virtual Double_t GetBy(Double_t, Double_t, Double_t)
78 {
79 LOG(warn) << "FairField::GetBy Should be implemented in User class";
80 return 0;
81 }
82
86 virtual Double_t GetBz(Double_t, Double_t, Double_t)
87 {
88 LOG(warn) << "FairField::GetBz Should be implemented in User class";
89 return 0;
90 }
91
96 virtual void GetFieldValue(const Double_t point[3], Double_t* bField);
97
98 void Field(const Double_t point[3], Double_t* B) { GetFieldValue(point, B); }
99
101 virtual void Print(Option_t*) const { ; }
102 virtual void GetBxyz(const Double_t[3], Double_t*)
103 {
104 LOG(warn) << "FairField::GetBxyz Should be implemented in User class";
105 }
106
107
108 protected:
110 Int_t fType;
111
112 private:
113 FairField(const FairField&);
114 // FairField& operator=(const FairField&);
115 // TODO: Check why the htrack needs this
116
117 ClassDef(FairField, 4);
118};
119
120#endif
Definition B.h:16
virtual void Print(Option_t *) const
Definition FairField.h:101
virtual Double_t GetBz(Double_t, Double_t, Double_t)
Definition FairField.h:86
virtual Double_t GetBy(Double_t, Double_t, Double_t)
Definition FairField.h:77
Bool_t IsConst()
Definition FairField.cxx:28
virtual Double_t GetBx(Double_t, Double_t, Double_t)
Definition FairField.h:68
virtual void GetBxyz(const Double_t[3], Double_t *)
Definition FairField.h:102
FairField & operator=(const FairField &)
Definition FairField.h:46
virtual ~FairField()
Definition FairField.cxx:26
virtual void GetFieldValue(const Double_t point[3], Double_t *bField)
Definition FairField.cxx:44
virtual void Init()
Definition FairField.h:54
Int_t fType
Definition FairField.h:110
Int_t GetType() const
Definition FairField.h:63
Bool_t IsMap()
Definition FairField.cxx:36
void Field(const Double_t point[3], Double_t *B)
Definition FairField.h:98
GLuint const GLchar * name
Definition glcorearb.h:781
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"