]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliMagF.cxx
From Cvetan: when opening an event from ESD get the first tree-entry so that run...
[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 }
67 fType = kUndef;
9e1a0ddb 68 //
fe4da5cc 69}
70
eeda4611 71//_______________________________________________________________________
72AliMagF::AliMagF(const AliMagF &src):
73 TNamed(src),
74 fMap(src.fMap),
75 fType(src.fType),
76 fInteg(src.fInteg),
77 fPrecInteg(src.fPrecInteg),
78 fFactor(src.fFactor),
79 fMax(src.fMax),
80 fReadField(src.fReadField)
81{
82 // Copy constructor
83}
84
e2afb3b6 85//_______________________________________________________________________
6f3038e9 86void AliMagF::Field(Float_t*, Float_t *b) const
fe4da5cc 87{
aee8290b 88 //
89 // Method to return the field in one point -- dummy in this case
90 //
594d8990 91 AliWarning("Undefined MagF Field called, returning 0");
fe4da5cc 92 b[0]=b[1]=b[2]=0;
93}
eeda4611 94
95//_______________________________________________________________________
96void AliMagF::GetTPCInt(Float_t *, Float_t *b) const
97{
98//
99// Obtain the integral of the field components in the TPC from given point
100// to the closest cathod plane
101//
102 AliWarning("Undefined MagF TPCIntegral called, returning 0");
103 b[0]=b[1]=b[2]=0;
104}
105
106//_______________________________________________________________________
107void AliMagF::GetTPCIntCyl(Float_t *, Float_t *b) const
108{
109//
110// Obtain the integral of the field components in the TPC from given point
111// to the closest cathod plane
112//
113 AliWarning("Undefined MagF TPCIntegral called, returning 0");
114 b[0]=b[1]=b[2]=0;
115}
116
117//_______________________________________________________________________
118AliMagF& AliMagF::operator=(const AliMagF& rhs)
119{
120 // Asignment operator
121 fMap = rhs.fMap;
122 fType = rhs.fType;
123 fInteg = rhs.fInteg;
124 fPrecInteg = rhs.fPrecInteg;
125 fFactor = rhs.fFactor;
126 fMax = rhs.fMax;
127 fReadField = rhs.fReadField;
128 return *this;
129}