4#include "KVFlowTensor.h"
20 SetTitle(
"Kinetic energy flow tensor of Gyulassy et al.");
81 if (&
a !=
this)
a.
Copy(*
this);
97 else if (wgt ==
"ONE" || wgt ==
"" || wgt ==
"1")
weight =
kONE;
164 if (
f(3) <= 0.)
return -1.;
165 if (
f(1) <= 0.)
return -1.;
171 if (
f(3) <= 0.)
return -1.;
172 if (
f(2) <= 0.)
return -1.;
179 return (phi < 0 ? 360 + phi : phi);
215 for (
int i = 0; i < 3; i++) {
355 W = 1. / (
n->GetMass() * (1 +
n->Gamma()));
359 W = 1. / (2.*
n->GetMass());
363 for (
int i = 0; i < 3; i++) {
364 for (
int j = i; j < 3; j++) {
365 Double_t xx = W *
n->GetMomentum()[i] *
n->GetMomentum()[j];
367 if (i != j)
fTensor(j, i) += xx;
439 std::cout <<
"Number of particles = " <<
fNParts << std::endl;
TGLVector3 Cross(const TGLVector3 &v1, const TGLVector3 &v2)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t b
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint angle
Kinetic energy flow tensor of Gyulassy et al and associated shape variables.
TVectorD fEVal
the 3 eigenvalues
Int_t fNParts
number of particles included in tensor
virtual ~KVFlowTensor(void)
Destructor.
KVFlowTensor & operator=(const KVFlowTensor &a)
Operateur =.
void Print(Option_t *="") const
if opt="tensor", just print contents of tensor
const TRotation & GetFlowReacPlaneRotation() const
virtual void Init()
Initialisation of internal variables, called once before beginning treatment.
Double_t getvalue_int(Int_t) const
const TVector3 & e(int i) const
KVFlowTensor()
Default constructor.
Double_t fSqOutRatio
Gutbrod squeeze-out ratio.
enum KVFlowTensor::@19 weight
Double_t fSqueezeAngle
Gutbrod squeeze angle.
TVector3 fEVec[3]
the 3 eigenvectors
void fill(const KVNucleus *n)
void Calculate()
Calculate eigenvalues & eigenvectors of tensor.
virtual void Reset()
Reset internal variables, called before treatment of each event.
virtual void Copy(TObject &obj) const
Copy properties of 'this' object into the KVVarGlob object referenced by 'a'.
const TRotation & GetAziReacPlaneRotation() const
TMatrixDSym fTensor
the tensor
TRotation fAziReacPlane
azimuthal rotation around beam axis to reaction plane
TRotation fFlowReacPlane
rotate XZ to reaction plane, then align Z with flow axis
Description of properties and kinematics of atomic nuclei.
Base class for all global variable implementations.
void SetOption(const Char_t *option, const Char_t *value)
void Print(Option_t *="") const
void Copy(TObject &obj) const
void SetNameIndex(const Char_t *name, Int_t index)
void SetMaxNumBranches(Int_t n)
TString GetOptionString(const Char_t *opt) const
Bool_t IsOptionGiven(const Char_t *opt)
void SetFrame(const Char_t *ref)
Int_t fType
type of variable global; = kOneBody, kTwoBody or kNBody
void Copy(TObject &arc) const override
const TVectorD & GetEigenValues() const
const TMatrixD & GetEigenVectors() const
virtual TMatrixTBase< Element > & Zero()
void Print(Option_t *name="") const override
TRotation & SetToIdentity()
TRotation & RotateY(Double_t)
TRotation & RotateZ(Double_t)
void SetXYZ(Double_t x, Double_t y, Double_t z)
Double_t Angle(const TVector3 &) const
TVector3 Cross(const TVector3 &) const
RVec< PromoteType< T > > tan(const RVec< T > &v)
RVec< PromoteType< T > > cos(const RVec< T > &v)
RVec< PromoteTypes< T0, T1 > > pow(const RVec< T0 > &v, const T1 &y)
RVec< PromoteType< T > > atan(const RVec< T > &v)
RVec< PromoteType< T > > sin(const RVec< T > &v)
Expr< UnaryOp< Sqrt< T >, Expr< A, T, D, D2, R >, T >, T, D, D2, R > sqrt(const Expr< A, T, D, D2, R > &rhs)
Double_t Min(Double_t a, Double_t b)
constexpr Double_t PiOver2()
constexpr Double_t DegToRad()
constexpr Double_t RadToDeg()