2 // Author: Matevz Tadel 2007
4 /**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for *
7 * full copyright notice. *
8 **************************************************************************/
10 #ifndef AliEveTrackCounter_H
11 #define AliEveTrackCounter_H
13 #include "TEveElement.h"
20 //______________________________________________________________________________
21 // Short description of AliEveTrackCounter
24 class AliEveTrackCounter : public TEveElement, public TNamed
26 friend class AliEveTrackCounterEditor;
29 enum EClickAction_e { kCA_PrintTrackInfo, kCA_ToggleTrack };
31 AliEveTrackCounter(const Text_t* name="AliEveTrackCounter", const Text_t* title="");
32 virtual ~AliEveTrackCounter();
34 Int_t GetEventId() const { return fEventId; }
35 void SetEventId(Int_t id) { fEventId = id; }
39 void RegisterTracks(TEveTrackList* tlist, Bool_t goodTracks);
40 void RegisterTracklets(TEveTrackList* tlist, Bool_t goodTracks);
42 void DoTrackAction(AliEveTrack* track);
43 void DoTrackletAction(AliEveTracklet* track);
45 Int_t GetClickAction() const { return fClickAction; }
46 void SetClickAction(Int_t a) { fClickAction = a; }
48 void OutputEventTracks();
49 void PrintEventTracks();
51 static AliEveTrackCounter* fgInstance;
54 Int_t fBadLineStyle; // TEveLine-style used for secondary/bad tracks.
55 Int_t fClickAction; // Action to take when a track is ctrl-clicked.
57 Int_t fEventId; // Current event-id.
59 Int_t fAllTracks; // Counter of all tracks.
60 Int_t fGoodTracks; // Counter of good tracks.
61 Int_t fAllTracklets; // Counter of all tracklets.
62 Int_t fGoodTracklets; // Counter of good tracklets.
64 TList fTrackLists; // List of track-lists registered for management.
65 TList fTrackletLists; // List of tracklet-lists registered for management.
68 AliEveTrackCounter(const AliEveTrackCounter&); // Not implemented
69 AliEveTrackCounter& operator=(const AliEveTrackCounter&); // Not implemented
71 ClassDef(AliEveTrackCounter, 0); // Class for selection of good/primary tracks with basic processing functionality.