NCFS-Pack
A generic (astro)particle physics analysis framework
 
Loading...
Searching...
No Matches
NcHelix.h
Go to the documentation of this file.
1#ifndef NcHelix_h
2#define NcHelix_h
3// Copyright(c) 2004 NCFS/IIHE, All Rights Reserved.
4// See cxx source for full Copyright notice.
5
6#include "THelix.h"
7#include "TObjArray.h"
8#include "TPolyMarker3D.h"
9
10#include "Nc3Vector.h"
11#include "NcTrack.h"
12#include "NcEvent.h"
13
15
16class NcHelix : public THelix
17{
18 public:
19 NcHelix(); // Default constructor
20 virtual ~NcHelix(); // Destructor
21 NcHelix(const NcHelix& h); // Copy constructor
22 void SetB(Nc3Vector& b); // Set the magnetic field vector in Tesla
23 Nc3Vector& GetB(); // Provide the magnetic field vector in Tesla
24 void SetTofmax(Float_t tof); // Set maximum time of flight
25 Float_t GetTofmax() const; // Provide the maximum time of flight
26 void Display(NcTrack* t,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1); // Show curve for this track
27 void Display(NcEvent* e,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1); // Show curves for this event
28 void Display(TObjArray* a,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1); // Show curves for this track array
29 void Refresh(Int_t mode=0); // Refresh the view before drawing the next one
30 NcPosition* Extrapolate(NcTrack* t,Double_t* pars=0,Double_t scale=-1); // Extrapolate this track
31 void MakeCurve(NcTrack* t,Double_t* range=0,Int_t iaxis=3,Double_t scale=-1); // Helix curve for this track
32 void SetMarker(Int_t marker=8,Float_t size=0.2,Int_t color=-1); // Set marker for track starting point
33 void UseEndPoint(Int_t mode=1); // (De)Select (0/1) usage of track endpoint for drawing and extrapolation
34
35 protected:
36 Nc3Vector fB; // The magnetic field vector in Tesla
37 Float_t fTofmax; // The maximum time of flight
38 Int_t fRefresh; // Auto-refresh flag for drawings
39 Int_t fMstyle; // The marker style to indicate the track starting point
40 Float_t fMsize; // The size of the marker
41 Int_t fMcol; // The colour of the marker
42 Int_t fEnduse; // Flag to denote tracks endpoint usage
43 TObjArray* fCurves;
45
46 ClassDef(NcHelix,1) // Representation and extrapolation of NcTracks in a magnetic field.
47};
48#endif
Handling of 3-vectors in various reference frames.
Definition Nc3Vector.h:15
Creation and investigation of an NCFS generic event structure.
Definition NcEvent.h:15
void UseEndPoint(Int_t mode=1)
Definition NcHelix.cxx:311
Nc3Vector & GetB()
Definition NcHelix.cxx:254
void SetTofmax(Float_t tof)
Definition NcHelix.cxx:265
NcPosition * Extrapolate(NcTrack *t, Double_t *pars=0, Double_t scale=-1)
Definition NcHelix.cxx:902
Int_t fMstyle
Definition NcHelix.h:39
Int_t fMcol
Definition NcHelix.h:41
TObjArray * fCurves
! Temp. storage for the curves on the drawing
Definition NcHelix.h:43
void Display(NcTrack *t, Double_t *range=0, Int_t iaxis=3, Double_t scale=-1)
Definition NcHelix.cxx:700
Float_t fTofmax
Definition NcHelix.h:37
Nc3Vector fB
Definition NcHelix.h:36
Float_t fMsize
Definition NcHelix.h:40
void SetB(Nc3Vector &b)
Definition NcHelix.cxx:236
void MakeCurve(NcTrack *t, Double_t *range=0, Int_t iaxis=3, Double_t scale=-1)
Definition NcHelix.cxx:328
void SetMarker(Int_t marker=8, Float_t size=0.2, Int_t color=-1)
Definition NcHelix.cxx:294
Int_t fRefresh
Definition NcHelix.h:38
void Refresh(Int_t mode=0)
Definition NcHelix.cxx:801
Int_t fEnduse
Definition NcHelix.h:42
NcPosition * fExt
! The extrapolation result
Definition NcHelix.h:44
virtual ~NcHelix()
Definition NcHelix.cxx:199
Float_t GetTofmax() const
Definition NcHelix.cxx:283
Handling of positions (with timestamps) in various reference frames.
Definition NcPosition.h:18
Handling of the attributes of a reconstructed particle track.
Definition NcTrack.h:19