]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliMagF.cxx
Initialisation added.
[u/mrichter/AliRoot.git] / STEER / AliMagF.cxx
CommitLineData
4c039060 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
acd84897 16/* $Id$ */
4c039060 17
5d8718b8 18//----------------------------------------------------------------------
116cbefd 19// Basic magnetic field class
5d8718b8 20// Used in all the detectors, and also in the traking classes
21// Author:
22//----------------------------------------------------------------------
fe4da5cc 23
594d8990 24#include "AliLog.h"
fe4da5cc 25#include "AliMagF.h"
972ca52f 26
fe4da5cc 27ClassImp(AliMagF)
28
e2afb3b6 29//_______________________________________________________________________
30AliMagF::AliMagF():
31 fMap(0),
32 fType(0),
33 fInteg(0),
604e0531 34 fPrecInteg(1),
e2afb3b6 35 fFactor(0),
972ca52f 36 fMax(0),
37 fReadField(1)
e2afb3b6 38{
39 //
40 // Default constructor
41 //
42}
43
44//_______________________________________________________________________
d0f1ee3b 45AliMagF::AliMagF(const char *name, const char *title, Int_t integ,
46 Float_t factor, Float_t fmax):
e2afb3b6 47 TNamed(name,title),
48 fMap(0),
49 fType(0),
50 fInteg(0),
604e0531 51 fPrecInteg(1),
e2afb3b6 52 fFactor(factor),
972ca52f 53 fMax(fmax),
54 fReadField(1)
fe4da5cc 55{
aee8290b 56 //
57 // Standard constructor
58 //
d8408e76 59 if(integ<0 || integ > 2) {
594d8990 60 AliWarning(Form(
61 "Invalid magnetic field flag: %5d; Helix tracking chosen instead"
62 ,integ));
e2afb3b6 63 fInteg = 2;
d8408e76 64 } else {
e2afb3b6 65 fInteg = integ;
d8408e76 66 }
eed8a1a2 67
68 if (fInteg == 0) fPrecInteg = 0;
69
d8408e76 70 fType = kUndef;
9e1a0ddb 71 //
fe4da5cc 72}
73
eeda4611 74//_______________________________________________________________________
75AliMagF::AliMagF(const AliMagF &src):
76 TNamed(src),
77 fMap(src.fMap),
78 fType(src.fType),
79 fInteg(src.fInteg),
80 fPrecInteg(src.fPrecInteg),
81 fFactor(src.fFactor),
82 fMax(src.fMax),
83 fReadField(src.fReadField)
84{
85 // Copy constructor
86}
87
e2afb3b6 88//_______________________________________________________________________
6b3a4c8e 89void AliMagF::Field(const Float_t*, Float_t *b) const
ff66b122 90{
91 //
92 // Method to return the field in one point -- dummy in this case
93 //
94 AliWarning("Undefined MagF Field called, returning 0");
95 b[0]=b[1]=b[2]=0;
96}
97
98//_______________________________________________________________________
611fa94a 99void AliMagF::Field(const double*, double *b) const
fe4da5cc 100{
aee8290b 101 //
102 // Method to return the field in one point -- dummy in this case
103 //
594d8990 104 AliWarning("Undefined MagF Field called, returning 0");
fe4da5cc 105 b[0]=b[1]=b[2]=0;
106}
eeda4611 107
108//_______________________________________________________________________
6b3a4c8e 109void AliMagF::GetTPCInt(const Float_t *, Float_t *b) const
eeda4611 110{
111//
112// Obtain the integral of the field components in the TPC from given point
113// to the closest cathod plane
114//
115 AliWarning("Undefined MagF TPCIntegral called, returning 0");
116 b[0]=b[1]=b[2]=0;
117}
118
119//_______________________________________________________________________
6b3a4c8e 120void AliMagF::GetTPCIntCyl(const Float_t *, Float_t *b) const
eeda4611 121{
122//
123// Obtain the integral of the field components in the TPC from given point
124// to the closest cathod plane
125//
126 AliWarning("Undefined MagF TPCIntegral called, returning 0");
127 b[0]=b[1]=b[2]=0;
128}
129
130//_______________________________________________________________________
131AliMagF& AliMagF::operator=(const AliMagF& rhs)
132{
133 // Asignment operator
134 fMap = rhs.fMap;
135 fType = rhs.fType;
136 fInteg = rhs.fInteg;
137 fPrecInteg = rhs.fPrecInteg;
138 fFactor = rhs.fFactor;
139 fMax = rhs.fMax;
140 fReadField = rhs.fReadField;
141 return *this;
142}
eed8a1a2 143
144void AliMagF::SetPrecInteg(Int_t integ)
145{
146 if (fInteg > 0) {
147 fPrecInteg = integ;
148 }
149 else if (integ != 0)
150 {
151 AliWarning("Precision integration flag set to 0 \n");
152 fPrecInteg = 0;
153 }
154}