NCFS-Pack
A generic (astro)particle physics analysis framework
 
Loading...
Searching...
No Matches
Nc3VectorObj Class Reference

Handling of 3-vectors in various reference frames. More...

#include "Nc3VectorObj.h"

Inheritance diagram for Nc3VectorObj:
Nc3Vector

Detailed Description

Handling of 3-vectors in various reference frames.


Copyright(c) 1999 NCFS/IIHE, All Rights Reserved. *
*
Authors: The Netherlands Center for Fundamental Studies (NCFS). *
The Inter-university Institute for High Energies (IIHE). *
Website : http://www.iihe.ac.be *
Contact : Nick van Eijndhoven (nickve.nl@gmail.com) *
*
Contributors are mentioned in the code where appropriate. *
*
No part of this software may be used, copied, modified or distributed *
by any means nor transmitted or translated into machine language for *
commercial purposes without written permission by the IIHE representative. *
Permission to use the software strictly for non-commercial purposes *
is hereby granted without fee, provided that the above copyright notice *
appears in all copies and that both the copyright notice and this *
permission notice appear in the supporting documentation. *
This software is provided "as is" without express or implied warranty. *
The authors make no claims that this software is free of error, or is *
consistent with any particular standard of merchantability, or that it *
will meet your requirements for any particular application, other than *
indicated in the corresponding documentation. *
This software should not be relied on for solving a problem whose *
incorrect solution could result in injury to a person or loss of property. *
If you do use this software in such a manner, it is at your own risk. *
The authors disclaim all liability for direct or consequential damage *
resulting from your use of this software. *

// Class Nc3VectorObj
// Handling of 3-vectors in various reference frames.
//
// This class is meant to provide an Nc3Vector object which is derived
// from TObject such that it can be stored in e.g. TObjArray etc...
// and that it can be written out using the ROOT I/O machinery.
//
// Example :
// =========
//
// Float_t a[3]={1,2,3};
// Float_t ea[3]={0.01,0.02,0.03};
// Float_t b[3]={4,5,6};
// Float_t eb[3]={0.04,0.05,0.06};
//
// Nc3Vector v,w;
//
// v.SetVector(a,"car");
// v.SetErrors(ea,"car");
// w.SetVector(b,"car");
// w.SetErrors(eb,"car");
//
// Nc3Vector cross=v.Cross(w);
//
// Nc3Vector add=v+w;
//
// Nc3VectorObj vec1(cross);
//
// Nc3VectorObj vec2;
// vec2.Load(add);
//
// vec1.Data();
// vec2.Data();
//
//--- Author: Nick van Eijndhoven 18-oct-1999 Utrecht University
//- Modified: NvE $Date: 2010-03-19 11:10:02 +0100 (Fri, 19 Mar 2010) $ NCFS

Definition at line 12 of file Nc3VectorObj.h.

Public Member Functions

 Nc3VectorObj ()
 
 Nc3VectorObj (Nc3Vector &q)
 
 Nc3VectorObj (Nc3VectorObj &q)
 
virtual ~Nc3VectorObj ()
 
- Public Member Functions inherited from Nc3Vector
 Nc3Vector ()
 
 Nc3Vector (const Nc3Vector &v)
 
virtual ~Nc3Vector ()
 
Double_t ConvertAngle (Double_t a, TString in, TString out) const
 
Nc3Vector Cross (Nc3Vector &q) const
 
virtual void Data (TString f="car", TString u="rad") const
 
Double_t Dot (Nc3Vector &q)
 
void GetErrors (Double_t *e, TString f, TString u="rad") const
 
void GetErrors (Float_t *e, TString f, TString u="rad") const
 
Double_t GetNorm ()
 
virtual Double_t GetOpeningAngle (Nc3Vector &q, TString u="rad")
 
Nc3Vector GetPrimed (TRotMatrix *m) const
 
Double_t GetPseudoRapidity ()
 
Double_t GetResultError () const
 
Nc3Vector GetUnprimed (TRotMatrix *m) const
 
Nc3Vector GetVecLong () const
 
void GetVector (Double_t *v, TString f, TString u="rad") const
 
void GetVector (Float_t *v, TString f, TString u="rad") const
 
Nc3Vector GetVecTrans () const
 
Double_t GetX (Int_t i, TString f, TString u="rad")
 
Int_t HasErrors () const
 
Int_t HasVector () const
 
virtual void Load (Nc3Vector &q)
 
Nc3Vector operator* (Double_t s) const
 
Nc3Vectoroperator*= (Double_t s)
 
Nc3Vector operator+ (Nc3Vector &q) const
 
Nc3Vectoroperator+= (Nc3Vector &q)
 
Nc3Vector operator- (Nc3Vector &q) const
 
Nc3Vectoroperator-= (Nc3Vector &q)
 
Nc3Vector operator/ (Double_t s) const
 
Nc3Vectoroperator/= (Double_t s)
 
Nc3Vectoroperator= (const Nc3Vector &q)
 
void PrintAngle (Double_t a, TString in, TString out, Int_t ndig=1, Bool_t align=kFALSE) const
 
void SetErrors (Double_t *e, TString f, TString u="rad")
 
void SetErrors (Double_t e1, Double_t e2, Double_t e3, TString f, TString u="rad")
 
void SetErrors (Float_t *e, TString f, TString u="rad")
 
void SetVector (Double_t *v, TString f, TString u="rad")
 
void SetVector (Double_t v1, Double_t v2, Double_t v3, TString f, TString u="rad")
 
void SetVector (Float_t *v, TString f, TString u="rad")
 
virtual void SetZero ()
 

Additional Inherited Members

- Protected Attributes inherited from Nc3Vector
Double32_t fDresult
 ! Error on scalar result (e.g. norm or dotproduct)
 
Int_t fNv
 
Double32_t * fV
 

Constructor & Destructor Documentation

◆ Nc3VectorObj() [1/3]

Nc3VectorObj::Nc3VectorObj ( )
// Default constructor.
// Creation of an Nc3VectorObj object and initialisation of parameters.
// All attributes initialised to 0.

Definition at line 80 of file Nc3VectorObj.cxx.

◆ Nc3VectorObj() [2/3]

Nc3VectorObj::Nc3VectorObj ( Nc3Vector & q)
// Creation of an Nc3VectorObj object and initialisation of parameters.
// All attributes are initialised to the values of the input Nc3Vector.

Definition at line 91 of file Nc3VectorObj.cxx.

◆ ~Nc3VectorObj()

Nc3VectorObj::~Nc3VectorObj ( )
virtual
// Destructor to delete dynamically allocated memory.

Definition at line 101 of file Nc3VectorObj.cxx.

◆ Nc3VectorObj() [3/3]

Nc3VectorObj::Nc3VectorObj ( Nc3VectorObj & q)
// Copy constructor.

Definition at line 110 of file Nc3VectorObj.cxx.


The documentation for this class was generated from the following files: