1    	//*-- Author :    Valery Fine(fine@bnl.gov)   11/07/99  
2    	// $Id: StVirtualEventFilter.h,v 1.10 2000/09/15 15:17:19 fine Exp $
3    	//
4    	#ifndef STAR_StVirtualEventFilter
5    	#define STAR_StVirtualEventFilter
6    	
7    	//////////////////////////////////////////////////////////////////////////
8    	//                                                                      //
9    	// StVirtualEventFilter virtual base class                              //
10   	//                                                                      //
11   	//                                                                      //
12   	//  Submit any problem with this code via begin_html <A HREF="http://www.star.bnl.gov/STARAFS/comp/sofi/bugs/send-pr.html"><B><I>"STAR Problem Report Form"</I></B></A> end_html
13   	//
14   	//////////////////////////////////////////////////////////////////////////
15   	
16   	// #include "StTypeDefs.h"
17   	#include <TObject.h>
18   	#include <Gtypes.h>
19   	
20   	class StObjArray;
21   	class StGlobalTrack;
22   	class StVertex;
23   	
24   	class TTableSorter;
25   	class TTable;
26   	
27   	class StVirtualEventFilter : public TObject {
28   	 protected:
29   	    Int_t m_ActiveFlag;  // Flag whether this filter is on/off 
(1) Event member_decl: Class member declaration for "mOptions".
Also see events: [uninit_member]
30   	    ULong_t mOptions;    // Bit masks fro the user defined options
31   	 public:
(2) Event uninit_member: Non-static class member "mOptions" is not initialized in this constructor nor in any functions that it calls.
Also see events: [member_decl]
32   	    StVirtualEventFilter(Int_t flag=0):m_ActiveFlag(flag){;}
33   	    virtual ~StVirtualEventFilter(){;}
34   	    Int_t IsOn() { return GetFlag();}
35   	    Int_t IsOff(){ return !GetFlag();}
36   	    virtual Int_t GetFlag();
37   	    ULong_t GetOptions();
38   	    Int_t Turn(Int_t flag=1);
39   	    Int_t TurnOn() { return Turn();}
40   	    Int_t TurnOff(){ return Turn(0);}
41   	    Int_t Toggle() { return GetFlag()? TurnOff():TurnOn();}
42   	    virtual Int_t Channel(StGlobalTrack *globTrack,Size_t &size,Style_t &style);
43   	    virtual Int_t Channel(const StObjArray *hitCollection,Size_t &size,Style_t &style);
44   	    virtual Int_t Channel(const TTableSorter *tableObject,Int_t index,Size_t &size,Style_t &style);
45   	    virtual Int_t Channel(const StVertex *vertexObject,Size_t &size,Style_t &style);
46   	    virtual Int_t Channel(const TTable *tableObject,Int_t rowNumber,Size_t &size,Style_t &style);
47   	    virtual Int_t Reset(Int_t reset=0){return reset;}
48   	    ULong_t SetOptions(ULong_t opt);
49   	
50   	    ClassDef(StVirtualEventFilter,0) // virtual base class for the custom "event" filters (useful for 3D visualization)
51   	};
52   	
53   	inline ULong_t StVirtualEventFilter::GetOptions(){return mOptions;}
54   	inline ULong_t StVirtualEventFilter::SetOptions(ULong_t opt){ ULong_t o = GetOptions(); mOptions = opt; return o;}
55   	inline Int_t StVirtualEventFilter::Turn(Int_t flag){ Int_t s = GetFlag(); m_ActiveFlag = flag; return s;}
56   	
57   	// $Log: StVirtualEventFilter.h,v $
58   	// Revision 1.10  2000/09/15 15:17:19  fine
59   	// new method and data-member to add options introduced
60   	//
61   	// Revision 1.9  2000/03/24 20:35:21  fine
62   	// adjusted to ROOT 2.24. Doesn't work yet. Under development
63   	//
64   	// Revision 1.8  1999/12/21 18:57:13  fine
65   	// compilation warning plus new type for SizeAttribute
66   	//
67   	// Revision 1.7  1999/12/05 06:34:16  fine
68   	// Several const methods for St_TableSorter introduced
69   	//
70   	// Revision 1.6  1999/12/04 21:59:57  fine
71   	// new class comment
72   	//
73   	// Revision 1.5  1999/12/04 21:56:27  fine
74   	// new non-const signature for Channel(St_TableSorter) method
75   	//
76   	// Revision 1.4  1999/11/24 18:51:22  fine
77   	// all StVirtual::Filter have been renamed to Channel
78   	//
79   	// Revision 1.3  1999/11/10 02:24:37  fine
80   	// StVirtualFilter::Reset method has been introduced
81   	//
82   	
83   	#endif
84