]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RALICE/AliJet.h
Removing useless const to avoid warnings on alphacxx6
[u/mrichter/AliRoot.git] / RALICE / AliJet.h
index e0a557caf4097b7dbc6ccbced5abdc935dae3b25..01a9595f884ef0d9b5d887027ee5e337bf4a7843 100644 (file)
@@ -1,79 +1,68 @@
 #ifndef ALIJET_H
 #define ALIJET_H
-///////////////////////////////////////////////////////////////////////////
-// Class AliJet
-// Creation and investigation of a jet of particle tracks.
-// An AliJet can be constructed by adding AliTracks.
-//
-// Coding example to make 2 jets j1 and j2.
-// ----------------------------------------
-// j1 contains the AliTracks 1 and 2
-// j2 contains the AliTracks 3 and 4
-//
-// AliTrack t1,t2,t3,t4;
-//  ...
-//  ... // code to fill the AliTrack data
-//  ...
-// AliJet j1(5);
-// AliJet j2(12);
-// j1.Add(t1);
-// j1.Add(t2);
-// j2.Add(t3);
-// j2.Add(t4);
-//
-// j1.Info();
-// j2.Info("sph");
-//
-// Float_t e1=j1.GetEnergy();
-// Float_t pnorm=j1->GetMomentum();
-// Ali3Vector p=j1->Get3Momentum();
-// Float_t m=j1.GetInvmass();
-// Int_t ntk=j1.GetNtracks();
-// AliTrack* tj=j1.GetTrack(1);
-//
-// Note : All quantities are in GeV, GeV/c or GeV/c**2
-//
-//--- NvE 10-jul-1997 UU-SAP Utrecht
-//--- Modified : NvE 06-apr-1999 UU-SAP Utrecht to inherit from Ali4Vector
-///////////////////////////////////////////////////////////////////////////
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
+
+// $Id$
  
-#include <iostream.h>
 #include <math.h>
  
-#include "TObject.h"
+#include "TNamed.h"
 #include "TObjArray.h"
 
 #include "Ali4Vector.h"
 #include "AliTrack.h"
  
-class AliJet : public TObject,public Ali4Vector
+class AliJet : public TNamed,public Ali4Vector
 {
  public:
-  AliJet();                          // Default constructor
-  AliJet(Int_t n);                   // Create a Jet to hold initially n Tracks
-  ~AliJet();                         // Default destructor
-  void Reset();                      // Reset all values
-  virtual void Add(AliTrack& t);     // Add a track to the jet
-  virtual void Add(AliTrack* t) { Add(*t); }
-  void Info(TString f);              // Print jet information in coordinate frame f 
-  void List(TString f="car");        // Print jet prim. track information for coord. frame f
-  void ListAll(TString f="car");     // Print jet prim. and decay track information for coord. frame f
-  Double_t GetEnergy();              // Provide the total jet energy
-  Double_t GetMomentum();            // Provide the value of the total jet 3-momentum
-  Ali3Vector Get3Momentum();         // Provide the total jet 3-momentum
-  Double_t GetInvmass();             // Provide the invariant mass  
-  Float_t GetCharge();               // Provide the total charge of the jet
-  Int_t GetNtracks();                // Return the number of tracks in the jet
-  AliTrack* GetTrack(Int_t i);       // Provide i-th track of the jet (1=first track)
+  AliJet();                                // Default constructor
+  AliJet(Int_t n);                         // Create a Jet to hold initially n Tracks
+  virtual ~AliJet();                       // Default destructor
+  AliJet(const AliJet& j);                 // Copy constructor
+  virtual TObject* Clone(const char* name="") const; // Make a deep copy and provide its pointer
+  virtual void SetOwner(Bool_t own=kTRUE); // Set ownership of all added objects
+  virtual void Reset();                    // Reset all values
+  void AddTrack(AliTrack& t);              // Add a track to the jet
+  void AddTrack(AliTrack* t) { AddTrack(*t); }
+  virtual void Data(TString f="car");      // Print jet information in coordinate frame f 
+  virtual void List(TString f="car");      // Print jet prim. track information for coord. frame f
+  virtual void ListAll(TString f="car");   // Print jet prim. and decay track information for coord. frame f
+  Double_t GetEnergy();                    // Provide the total jet energy
+  Double_t GetMomentum();                  // Provide the value of the total jet 3-momentum
+  Ali3Vector Get3Momentum() const;         // Provide the total jet 3-momentum
+  Double_t GetInvmass();                   // Provide the invariant mass  
+  Float_t GetCharge() const;               // Provide the total charge of the jet
+  Int_t GetNtracks(Int_t idmode=0,Int_t chmode=2,Int_t pcode=0); // Provide the number of selected tracks in the jet
+  AliTrack* GetTrack(Int_t i) const;       // Provide i-th track of the jet (1=first track)
+  AliTrack* GetIdTrack(Int_t id) const;    // Provide the track with user identifier "id"
+  TObjArray* GetTracks(Int_t idmode=0,Int_t chmode=2,Int_t pcode=0); // Provide references to selected tracks
+  void ShowTracks(Int_t mode=1);           // Provide on overview of the available tracks
+  Double_t GetPt();                        // Provide trans. momentum w.r.t. z-axis
+  Double_t GetPl();                        // Provide long. momentum w.r.t. z-axis
+  Double_t GetEt();                        // Provide trans. energy w.r.t. z-axis
+  Double_t GetEl();                        // Provide long. energy w.r.t. z-axis
+  Double_t GetMt();                        // Provide trans. mass w.r.t. z-axis
+  Double_t GetRapidity();                  // Provide rapidity value w.r.t. z-axis
+  void SetTrackCopy(Int_t j);              // (De)activate creation of private copies in fTracks
+  Int_t GetTrackCopy() const;              // Provide TrackCopy flag value      
+  void SetId(Int_t id);                    // Set the user defined identifier
+  Int_t GetId() const;                     // Provide the user defined identifier
 
  protected:
-  void SetNtinit(Int_t n=2); // Set the initial max. number of tracks for this Jet
-  Int_t fNtinit;             // The initial max. number of tracks for this jet
-  Int_t fNtmax;              // The maximum number of tracks for this Jet
-  Float_t fQ;                // The total charge of the jet 
-  Int_t fNtrk;               // The number of tracks in the jet
-  TObjArray* fTracks;        // Array to hold the pointers to the tracks of the jet
+  void Init();                           // Initialisation of pointers etc...
+  void SetNtinit(Int_t n=2);             // Set the initial max. number of tracks for this Jet
+  void AddTrack(AliTrack& t,Int_t copy); // Internal memberfunction to add a track to the jet
+  void AddTrack(AliTrack* t,Int_t copy) { AddTrack(*t,copy); }
+  Int_t fNtinit;                         // The initial max. number of tracks for this jet
+  Int_t fNtmax;                          // The maximum number of tracks for this Jet
+  Float_t fQ;                            // The total charge of the jet 
+  Int_t fNtrk;                           // The number of tracks in the jet
+  TObjArray* fTracks;                    // Array to hold the pointers to the tracks of the jet
+  Int_t fTrackCopy;                      // Flag to denote creation of private copies in fTracks
+  Int_t fUserId;                         // The user defined identifier
+  TObjArray* fSelected;                  //! Temp. array to hold user selected objects
  
- ClassDef(AliJet,1) // Class definition to enable ROOT I/O
+ ClassDef(AliJet,11) // Creation and investigation of a jet of particle tracks.
 };
 #endif