]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RALICE/AliJet.h
Obsolete - removed
[u/mrichter/AliRoot.git] / RALICE / AliJet.h
1 #ifndef ALIJET_H
2 #define ALIJET_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // $Id$
7  
8 #include <math.h>
9  
10 #include "TNamed.h"
11 #include "TObjArray.h"
12
13 #include "Ali4Vector.h"
14 #include "AliTrack.h"
15  
16 class AliJet : public TNamed,public Ali4Vector
17 {
18  public:
19   AliJet();                                // Default constructor
20   AliJet(Int_t n);                         // Create a Jet to hold initially n Tracks
21   virtual ~AliJet();                       // Default destructor
22   AliJet(AliJet& j);                       // Copy constructor
23   virtual void SetOwner(Bool_t own=kTRUE); // Set ownership of all added objects
24   virtual void Reset();                    // Reset all values
25   void AddTrack(AliTrack& t);              // Add a track to the jet
26   void AddTrack(AliTrack* t) { AddTrack(*t); }
27   virtual void Data(TString f="car");      // Print jet information in coordinate frame f 
28   virtual void List(TString f="car");      // Print jet prim. track information for coord. frame f
29   virtual void ListAll(TString f="car");   // Print jet prim. and decay track information for coord. frame f
30   Double_t GetEnergy();                    // Provide the total jet energy
31   Double_t GetMomentum();                  // Provide the value of the total jet 3-momentum
32   Ali3Vector Get3Momentum();               // Provide the total jet 3-momentum
33   Double_t GetInvmass();                   // Provide the invariant mass  
34   Float_t GetCharge();                     // Provide the total charge of the jet
35   Int_t GetNtracks();                      // Return the number of tracks in the jet
36   AliTrack* GetTrack(Int_t i);             // Provide i-th track of the jet (1=first track)
37   AliTrack* GetIdTrack(Int_t id);          // Provide the track with user identifier "id"
38   Double_t GetPt();                        // Provide trans. momentum w.r.t. z-axis
39   Double_t GetPl();                        // Provide long. momentum w.r.t. z-axis
40   Double_t GetEt();                        // Provide trans. energy w.r.t. z-axis
41   Double_t GetEl();                        // Provide long. energy w.r.t. z-axis
42   Double_t GetMt();                        // Provide trans. mass w.r.t. z-axis
43   Double_t GetRapidity();                  // Provide rapidity value w.r.t. z-axis
44   void SetTrackCopy(Int_t j);              // (De)activate creation of private copies in fTracks
45   Int_t GetTrackCopy();                    // Provide TrackCopy flag value      
46   void SetId(Int_t id);                    // Set the user defined identifier
47   Int_t GetId();                           // Provide the user defined identifier
48
49  protected:
50   void Init();                           // Initialisation of pointers etc...
51   void SetNtinit(Int_t n=2);             // Set the initial max. number of tracks for this Jet
52   void AddTrack(AliTrack& t,Int_t copy); // Internal memberfunction to add a track to the jet
53   void AddTrack(AliTrack* t,Int_t copy) { AddTrack(*t,copy); }
54   Int_t fNtinit;                         // The initial max. number of tracks for this jet
55   Int_t fNtmax;                          // The maximum number of tracks for this Jet
56   Float_t fQ;                            // The total charge of the jet 
57   Int_t fNtrk;                           // The number of tracks in the jet
58   TObjArray* fTracks;                    // Array to hold the pointers to the tracks of the jet
59   Int_t fTrackCopy;                      // Flag to denote creation of private copies in fTracks
60   Int_t fUserId;                         // The user defined identifier
61  
62  ClassDef(AliJet,6) // Creation and investigation of a jet of particle tracks.
63 };
64 #endif