NCFS-Pack
A generic (astro)particle physics analysis framework
 
Loading...
Searching...
No Matches
NcPosition.h
Go to the documentation of this file.
1#ifndef NcPosition_h
2#define NcPosition_h
3// Copyright(c) 1999 NCFS/IIHE, All Rights Reserved.
4// See cxx source for full Copyright notice.
5
6#include <cstdlib>
7#include <math.h>
8
9#include "TObject.h"
10#include "TString.h"
11
12#include "Nc3Vector.h"
13#include "NcTimestamp.h"
14
16
17class NcPosition : public Nc3Vector
18{
19 public:
20 NcPosition(); // Default constructor
21 virtual ~NcPosition(); // Destructor
22 NcPosition(const NcPosition& p); // Copy constructor
23 void SetPosition(Double_t* r,TString f,TString u="rad"); // Store position r in frame f with ang units u
24 void SetPosition(Double_t r1,Double_t r2,Double_t r3,TString f,TString u="rad"); // Store position r
25 void GetPosition(Double_t* r,TString f,TString u="rad",Float_t s=-1) const; // Provide position r in frame f in ang units u
26 void SetPosition(Float_t* r,TString f,TString u="rad"); // Store position r in frame f with ang units u
27 void GetPosition(Float_t* r,TString f,TString u="rad",Float_t s=-1) const; // Provide position r in frame f in ang units u
28 NcPosition& GetPosition(); // Provide position
29 void SetPosition(Nc3Vector& r); // Store position r
30 Double_t GetDistance(NcPosition& p,Float_t scale=-1); // Provide distance to position p
31 Double_t GetDistance(NcPosition* p,Float_t scale=-1) { return GetDistance(*p,scale); }
32 void SetPositionErrors(Double_t* e,TString f,TString u="rad"); // Store position errors in frame f with ang units u
33 void SetPositionErrors(Double_t e1,Double_t e2,Double_t e3,TString f,TString u="rad"); // Store errors of position r
34 void GetPositionErrors(Double_t* e,TString f,TString u="rad",Float_t s=-1) const; // Provide position errors in frame f in ang units u
35 void SetPositionErrors(Float_t* e,TString f,TString u="rad"); // Store position errors in frame f with ang units u
36 void GetPositionErrors(Float_t* e,TString f,TString u="rad",Float_t s=-1) const; // Provide position errors in frame f in ang units u
37 void ResetPosition(); // Reset position and errors
38 void SetUnitScale(Float_t s); // Set metric unit scale for the position coordinates
39 Float_t GetUnitScale() const; // Provide metric unit scale for the position coordinates
40 void SetTimestamp(NcTimestamp& t); // Set the timestamp for this position
41 NcTimestamp* GetTimestamp(); // Provide the timestamp for this position
42 void RemoveTimestamp(); // Remove the timestamp from this position
43 virtual void Data(TString f="car",TString u="rad") const; // Print position/time info for frame f and ang units u
44
45 protected:
46 Float_t fScale; // The unit scale used for the position coordinates
47 NcTimestamp* fTstamp; // The timestamp for this position
48
49 ClassDef(NcPosition,1) // Handling of positions (with timestamps) in various reference frames.
50};
51#endif
virtual ~NcPosition()
NcPosition & GetPosition()
void RemoveTimestamp()
NcTimestamp * fTstamp
Definition NcPosition.h:47
void SetUnitScale(Float_t s)
Float_t fScale
Definition NcPosition.h:46
Double_t GetDistance(NcPosition &p, Float_t scale=-1)
void SetPositionErrors(Double_t *e, TString f, TString u="rad")
Float_t GetUnitScale() const
void GetPositionErrors(Double_t *e, TString f, TString u="rad", Float_t s=-1) const
virtual void Data(TString f="car", TString u="rad") const
void SetPosition(Double_t *r, TString f, TString u="rad")
void ResetPosition()
NcTimestamp * GetTimestamp()
void SetTimestamp(NcTimestamp &t)
Double_t GetDistance(NcPosition *p, Float_t scale=-1)
Definition NcPosition.h:31
Handling of timestamps for (astro)particle physics research.
Definition NcTimestamp.h:20