#ifndef ALIBOOST_H
#define ALIBOOST_H
-///////////////////////////////////////////////////////////////////////////
-// Class AliBoost
-// Perform various Lorentz transformations.
-//
-// Example :
-// =========
-//
-// Float_t a[3]={0.1,0.2,0.3};
-// Ali3Vector beta;
-// beta.SetVector(a,"car");
-//
-// AliBoost b1;
-// b1.SetBeta(beta);
-// cout << " Boost b1 :" << endl;
-// b1.Info();
-//
-// Float_t b[4]={14,1,2,3};
-// Ali4Vector p;
-// p.SetVector(b,"car");
-// Ali4Vector pprim=b1.Boost(p);
-// cout << " Boost b1 result p,pprim :" << endl;
-// p.Info();
-// pprim.Info();
-//
-// p=b1.Inverse(pprim);
-// cout << " Inverse b1 result pprim,p :" << endl;
-// pprim.Info();
-// p.Info();
-//
-// Float_t c[4]={5,0,0,4};
-// Ali4Vector q;
-// q.SetVector(c,"car");
-//
-// AliBoost b2;
-// b2.Set4Momentum(q);
-// cout << " Lorbo b2 : " << endl;
-// b2.Info("sph");
-//
-//--- NvE 14-may-1996 UU-SAP Utrecht
-//--- Modified : NvE 01-apr-1999 UU-SAP Utrecht using Ali3Vector/Ali4Vector
-///////////////////////////////////////////////////////////////////////////
-
-#include <iostream.h>
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+// $Id$
+
#include <math.h>
#include "TObject.h"
{
public:
AliBoost(); // Default constructor
- ~AliBoost(); // Default destructor
- void SetBeta(Ali3Vector b); // Set boost parameters by beta 3-vector
- void SetGamma(Double_t g,Ali3Vector v); // Set boost parameters by gamma and direction 3-vector
+ virtual ~AliBoost(); // Default destructor
+ AliBoost(const AliBoost& b); // Copy constructor
+ void SetBeta(Ali3Vector& b); // Set boost parameters by beta 3-vector
void Set4Momentum(Ali4Vector& p); // Set boost parameters by 4-momentum
- Ali3Vector GetBetaVector(); // Provide the beta 3-vector
+ Ali3Vector GetBetaVector() const; // Provide the beta 3-vector
Double_t GetBeta(); // Provide norm of beta 3-vector
Double_t GetGamma(); // Provide gamma value
- void Info(TString f="car"); // Print boost parameter info in coord. frame f
+ void Data(TString f="car"); // Print boost parameter info in coord. frame f
Ali4Vector Boost(Ali4Vector& v); // Perform Lorentz boost on 4-vector v
Ali4Vector Inverse(Ali4Vector& v); // Perform inverse Lorentz boost on 4-vector v
+ Double_t GetResultError() const; // Provide error on scalar result
protected:
- Ali3Vector fBeta; // The beta 3-vector
- Double_t fBeta2; // beta**2
- Double_t fGamma; // The gamma factor
+ Ali3Vector fBeta; // The beta 3-vector
+ Double_t fGamma; // The gamma factor
+ Double_t fDgamma; // Error on the gamma value
+ Double_t fDresult; // Error on scalar result
- ClassDef(AliBoost,1) // Class definition to enable ROOT I/O
+ ClassDef(AliBoost,4) // Perform various Lorentz transformations.
};
#endif