]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RALICE/Ali3Vector.h
03-oct-2003 NvE Typos fixed in AliCalorimeter.cxx.
[u/mrichter/AliRoot.git] / RALICE / Ali3Vector.h
CommitLineData
d88f97cc 1#ifndef ALI3VECTOR_H
2#define ALI3VECTOR_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
f531a546 6// $Id$
3da30618 7
d88f97cc 8#include <math.h>
9
10#include "TObject.h"
11#include "TString.h"
12
13class Ali3Vector
14{
15 public:
16 Ali3Vector(); // Default constructor
17 virtual ~Ali3Vector(); // Destructor
c72198f1 18 Ali3Vector(const Ali3Vector& v); // Copy constructor
1fbffa23 19 virtual void Load(Ali3Vector& q); // Load all attributes of input Ali3Vector
c72198f1 20 virtual void SetZero(); // (Re)set all attributes to zero.
d88f97cc 21 virtual void SetVector(Double_t* v,TString f); // Store vector v in frame f
22 virtual void GetVector(Double_t* v,TString f); // Provide vector v in frame f
23 virtual void SetVector(Float_t* v,TString f); // Store vector v in frame f
24 virtual void GetVector(Float_t* v,TString f); // Provide vector v in frame f
959fbac5 25 virtual void SetErrors(Double_t* e,TString f); // Store errors of vector in frame f
26 virtual void GetErrors(Double_t* e,TString f); // Provide errors of vector in frame f
27 virtual void SetErrors(Float_t* e,TString f); // Store errors of vector in frame f
28 virtual void GetErrors(Float_t* e,TString f); // Provide errors of vector in frame f
84bb7c66 29 virtual void Data(TString f="car"); // Print vector components in frame f
d88f97cc 30 Double_t GetNorm(); // Provide norm of the vector
31 Double_t Dot(Ali3Vector& q); // Provide dot product with q
959fbac5 32 Double_t GetPseudoRapidity(); // Provide the pseudorapidity w.r.t z-axis
33 Double_t GetResultError(); // Provide error on scalar result (e.g. norm)
d88f97cc 34 Ali3Vector Cross(Ali3Vector& q); // Provide cross product with q
35 Ali3Vector operator+(Ali3Vector& q); // Add vector q
36 Ali3Vector operator-(Ali3Vector& q); // Subtract vector q
37 Ali3Vector operator*(Double_t s); // Multiply vector with scalar s
38 Ali3Vector operator/(Double_t s); // Divide vector by scalar s
39 Ali3Vector& operator+=(Ali3Vector& q); // Add vector q
40 Ali3Vector& operator-=(Ali3Vector& q); // Subtract vector q
41 Ali3Vector& operator*=(Double_t s); // Multiply with scalar s
42 Ali3Vector& operator/=(Double_t s); // Divide by scalar s
d071d629 43 Ali3Vector GetVecTrans(); // Provide transverse vector w.r.t. z-axis
44 Ali3Vector GetVecLong(); // Provide longitudinal vector w.r.t. z-axis
d88f97cc 45
46 protected:
959fbac5 47 Double_t fV,fTheta,fPhi; // Vector in spherical coordinates
48 Double_t fDx,fDy,fDz; // Errors on Cartesian coordinates
49 Double_t fDresult; // Error on scalar result (e.g. norm or dotproduct)
d88f97cc 50
1fbffa23 51 ClassDef(Ali3Vector,4) // Handling of 3-vectors in various reference frames.
d88f97cc 52};
53#endif