d88f97cc |
1 | #ifndef ALIVERTEX_H |
2 | #define ALIVERTEX_H |
3da30618 |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | |
f531a546 |
6 | // $Id$ |
3da30618 |
7 | |
d88f97cc |
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: |
29beb80d |
20 | AliVertex(); // Default constructor |
21 | AliVertex(Int_t n); // Create a vertex to hold initially n tracks |
22 | ~AliVertex(); // Default destructor |
7849a8ab |
23 | void Reset(); // Reset all values and stored vertex and jet lists |
24 | void ResetVertices(); // Reset stored vertex list |
f34f4acb |
25 | void AddJet(AliJet& j,Int_t tracks=1); // Add a jet (and its tracks) to the vertex |
f531a546 |
26 | void AddVertex(AliVertex& v,Int_t connect=1);// Add (and connect) a (sec.) vertex to the current vertex |
f34f4acb |
27 | void AddJet(AliJet* j,Int_t tracks=1) { AddJet(*j,tracks); } |
f935b777 |
28 | void AddVertex(AliVertex* v,Int_t connect=1) { AddVertex(*v,connect); } |
29beb80d |
29 | void Info(TString f="car"); // Print the vertex info within coordinate frame f |
30 | void List(TString f="car"); // Print vertex prim. track information for coord. frame f |
31 | void ListAll(TString f="car"); // Print prim. + sec. vertex full track info for coord. frame f |
32 | Int_t GetNvertices(); // Return the number of (secondary) vertices |
33 | AliVertex* GetVertex(Int_t i); // Provide i-th (secondary) vertex |
34 | void SetNvmax(Int_t n=2); // Set the initial max. number of (secondary) vertices |
f34f4acb |
35 | void SetVertexCopy(Int_t j); // (De)activate creation of private copies in fVertices |
36 | Int_t GetVertexCopy(); // Provide VertexCopy flag value |
37 | Int_t GetNjets(); // Return the number of jets |
38 | AliJet* GetJet(Int_t i); // Provide i-th jet |
39 | void SetNjmax(Int_t n=2); // Set the initial max. number of jets |
40 | void SetJetCopy(Int_t j); // (De)activate creation of private copies in fJets |
41 | Int_t GetJetCopy(); // Provide JetCopy flag value |
d88f97cc |
42 | |
43 | protected: |
44 | Int_t fNvmax; // The maximum number of (secondary) vertices |
45 | Int_t fNvtx; // The number of (secondary) vertices |
46 | TObjArray* fVertices; // Array to hold the pointers to the (secondary) vertices |
29beb80d |
47 | TObjArray* fConnects; // Array to hold the pointers to the auto-generated connecting tracks |
f34f4acb |
48 | Int_t fVertexCopy; // Flag to denote creation of private copies in fVertices |
49 | Int_t fNjmax; // The maximum number of jets |
50 | Int_t fNjets; // The number of jets |
51 | TObjArray* fJets; // Array to hold the pointers to the jets |
52 | Int_t fJetCopy; // Flag to denote creation of private copies in fJets |
d88f97cc |
53 | |
54 | private: |
55 | void Dump(AliVertex* v,Int_t n,TString f); // Recursively print all sec. vertices |
56 | |
959fbac5 |
57 | ClassDef(AliVertex,1) // Creation and investigation of an AliVertex. |
d88f97cc |
58 | }; |
59 | #endif |