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"
19 //______________________________________________________________________________
20 // Short description of AliEveTrackCounter
23 class AliEveTrackCounter : public TEveElement, public TNamed
25 friend class AliEveTrackCounterEditor;
28 enum EClickAction_e { kCA_PrintTrackInfo, kCA_ToggleTrack };
30 AliEveTrackCounter(const Text_t* name="AliEveTrackCounter", const Text_t* title="");
31 virtual ~AliEveTrackCounter();
33 Int_t GetEventId() const { return fEventId; }
34 void SetEventId(Int_t id) { fEventId = id; }
38 void RegisterTracks(TEveTrackList* tlist, Bool_t goodTracks);
40 void DoTrackAction(TEveTrack* track);
42 Int_t GetClickAction() const { return fClickAction; }
43 void SetClickAction(Int_t a) { fClickAction = a; }
45 void OutputEventTracks(FILE* out=0);
47 static AliEveTrackCounter* fgInstance;
50 Int_t fBadLineStyle; // TEveLine-style used for secondary/bad tracks.
51 Int_t fClickAction; // Action to take when a track is ctrl-clicked.
53 Int_t fEventId; // Current event-id.
55 Int_t fAllTracks; // Counter of all tracks.
56 Int_t fGoodTracks; // Counter of good tracks.
58 TList fTrackLists; // List of TrackLists registered for management.
61 AliEveTrackCounter(const AliEveTrackCounter&); // Not implemented
62 AliEveTrackCounter& operator=(const AliEveTrackCounter&); // Not implemented
64 ClassDef(AliEveTrackCounter, 0); // Class for selection of good/primary tracks with basic processing functionality.