27-may-2001 NvE New class AliEvent introduced and RALICELinkDef.h & co. updated accor...
[u/mrichter/AliRoot.git] / RALICE / Ali4VectorObj.cxx
CommitLineData
959fbac5 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
f531a546 16// $Id$
959fbac5 17
18///////////////////////////////////////////////////////////////////////////
19// Class Ali4VectorObj
20// Handling of Lorentz 4-vectors in various reference frames.
21//
22// This class is meant to provide an Ali4Vector object which is derived
23// from TObject such that it can be stored in e.g. TObjArray etc...
24// and that it can be written out using the ROOT I/O machinery.
25//
26// Example :
27// =========
28//
29// Float_t a[4]={5,1,2,3};
30// Float_t ea[4]={0.05,0.01,0.02,0.03};
31// Float_t b[4]={10,4,5,6};
32// Float_t eb[4]={0.1,0.04,0.05,0.06};
33//
34// Ali4Vector v,w;
35//
36// v.SetVector(a,"car");
37// v.SetErrors(ea,"car");
38// w.SetVector(b,"car");
39// w.SetErrors(eb,"car");
40//
41// Ali4Vector add=v+w;
42//
43// Ali4Vector sub=v-w;
44//
45// Ali4VectorObj vec1(add);
46//
47// Ali4VectorObj vec2;
48// vec2.Load(sub);
49//
50// vec1.Info();
51// vec2.Info();
52//
53//--- Author: Nick van Eijndhoven 18-oct-1999 UU-SAP Utrecht
f531a546 54//- Modified: NvE $Date$ UU-SAP Utrecht
959fbac5 55///////////////////////////////////////////////////////////////////////////
56
57#include "Ali4VectorObj.h"
58
59ClassImp(Ali4VectorObj) // Class implementation to enable ROOT I/O
60
61Ali4VectorObj::Ali4VectorObj()
62{
63// Creation of an Ali4VectorObj object and initialisation of parameters.
64// All attributes initialised to 0.
65}
66///////////////////////////////////////////////////////////////////////////
67Ali4VectorObj::Ali4VectorObj(Ali4Vector& q)
68{
69// Creation of an Ali3VectorObj object and initialisation of parameters.
70// All attributes are initialised to the values of the input Ali3Vector.
71 Load(q);
72}
73///////////////////////////////////////////////////////////////////////////
74Ali4VectorObj::~Ali4VectorObj()
75{
76// Destructor to delete dynamically allocated memory.
77}
78///////////////////////////////////////////////////////////////////////////
79void Ali4VectorObj::Load(Ali4Vector& q)
80{
81// Load all attributes of the input Ali4Vector into this Ali4VectorObj object.
82 Int_t temp1=q.GetScalarFlag();
83 Double_t temp2=q.GetResultError();
84 Double_t a[4];
85 q.GetVector(a,"sph");
86 SetVector(a,"sph");
87 q.GetErrors(a,"car");
88 SetErrors(a,"car");
89 fScalar=temp1;
90 fDresult=temp2;
91}
92///////////////////////////////////////////////////////////////////////////