27-may-2001 NvE New class AliEvent introduced and RALICELinkDef.h & co. updated accor...
[u/mrichter/AliRoot.git] / RALICE / AliVertex.h
1 #ifndef ALIVERTEX_H
2 #define ALIVERTEX_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 <iostream.h>
9 #include <math.h>
10  
11 #include "TObject.h"
12 #include "TObjArray.h"
13  
14 #include "AliJet.h"
15 #include "AliPosition.h"
16  
17 class AliVertex : public AliJet,public AliPosition
18 {
19  public:
20   AliVertex();                            // Default constructor
21   AliVertex(Int_t n);                     // Create a vertex to hold initially n tracks
22   ~AliVertex();                           // Default destructor
23   void Reset();                           // Reset all values
24   void AddJet(AliJet& j);                 // Add a jet of tracks to the vertex
25   void AddVertex(AliVertex& v,Int_t connect=1);// Add (and connect) a (sec.) vertex to the current vertex
26   void Add(AliJet* j)    { AddJet(*j); }
27   void Add(AliVertex* v,Int_t connect=1) { AddVertex(*v,connect); }
28   void Info(TString f="car");             // Print the vertex info within coordinate frame f
29   void List(TString f="car");             // Print vertex prim. track information for coord. frame f
30   void ListAll(TString f="car");          // Print prim. + sec. vertex full track info for coord. frame f
31   Int_t GetNvertices();                   // Return the number of (secondary) vertices
32   AliVertex* GetVertex(Int_t i);          // Provide i-th (secondary) vertex
33   void SetNvmax(Int_t n=2);               // Set the initial max. number of (secondary) vertices
34
35  protected:
36   Int_t fNvmax;         // The maximum number of (secondary) vertices
37   Int_t fNvtx;          // The number of (secondary) vertices
38   TObjArray* fVertices; // Array to hold the pointers to the (secondary) vertices
39   TObjArray* fConnects; // Array to hold the pointers to the auto-generated connecting tracks
40
41  private:
42   void Dump(AliVertex* v,Int_t n,TString f); // Recursively print all sec. vertices
43  
44  ClassDef(AliVertex,1) // Creation and investigation of an AliVertex.
45 };
46 #endif