]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RALICE/AliBoost.h
Defaults updated
[u/mrichter/AliRoot.git] / RALICE / AliBoost.h
CommitLineData
d88f97cc 1#ifndef ALIBOOST_H
2#define ALIBOOST_H
3da30618 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
d88f97cc 8///////////////////////////////////////////////////////////////////////////
9// Class AliBoost
10// Perform various Lorentz transformations.
11//
12// Example :
13// =========
14//
15// Float_t a[3]={0.1,0.2,0.3};
16// Ali3Vector beta;
17// beta.SetVector(a,"car");
18//
19// AliBoost b1;
20// b1.SetBeta(beta);
21// cout << " Boost b1 :" << endl;
22// b1.Info();
23//
24// Float_t b[4]={14,1,2,3};
25// Ali4Vector p;
26// p.SetVector(b,"car");
27// Ali4Vector pprim=b1.Boost(p);
28// cout << " Boost b1 result p,pprim :" << endl;
29// p.Info();
30// pprim.Info();
31//
32// p=b1.Inverse(pprim);
33// cout << " Inverse b1 result pprim,p :" << endl;
34// pprim.Info();
35// p.Info();
36//
37// Float_t c[4]={5,0,0,4};
38// Ali4Vector q;
39// q.SetVector(c,"car");
40//
41// AliBoost b2;
42// b2.Set4Momentum(q);
43// cout << " Lorbo b2 : " << endl;
44// b2.Info("sph");
45//
46//--- NvE 14-may-1996 UU-SAP Utrecht
47//--- Modified : NvE 01-apr-1999 UU-SAP Utrecht using Ali3Vector/Ali4Vector
48///////////////////////////////////////////////////////////////////////////
49
50#include <iostream.h>
51#include <math.h>
52
53#include "TObject.h"
54
55#include "Ali4Vector.h"
56
57class AliBoost : public TObject
58{
59 public:
60 AliBoost(); // Default constructor
61 ~AliBoost(); // Default destructor
62 void SetBeta(Ali3Vector b); // Set boost parameters by beta 3-vector
63 void SetGamma(Double_t g,Ali3Vector v); // Set boost parameters by gamma and direction 3-vector
64 void Set4Momentum(Ali4Vector& p); // Set boost parameters by 4-momentum
65 Ali3Vector GetBetaVector(); // Provide the beta 3-vector
66 Double_t GetBeta(); // Provide norm of beta 3-vector
67 Double_t GetGamma(); // Provide gamma value
68 void Info(TString f="car"); // Print boost parameter info in coord. frame f
69 Ali4Vector Boost(Ali4Vector& v); // Perform Lorentz boost on 4-vector v
70 Ali4Vector Inverse(Ali4Vector& v); // Perform inverse Lorentz boost on 4-vector v
71
72 protected:
73 Ali3Vector fBeta; // The beta 3-vector
74 Double_t fBeta2; // beta**2
75 Double_t fGamma; // The gamma factor
76
77 ClassDef(AliBoost,1) // Class definition to enable ROOT I/O
78};
79#endif