]>
Commit | Line | Data |
---|---|---|
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 | ||
57 | class 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 |