26# define HEP_SHORT_NAMES
27# include "CLHEP/Alist/CList.h"
28# include "CLHEP/Alist/ConstAList.h"
29# include "CLHEP/Geometry/Vector3D.h"
30# ifndef ENABLE_BACKWARDS_COMPATIBILITY
47 TWindow(
const TWindow& );
50 TWindow(
const std::string& name );
63 void append(
const TTrackBase&, leda_color = leda_black,
bool toBeSelfObject =
false );
64 void append(
const AList<TSegment>&, leda_color = leda_black,
bool toBeSelfObject =
false );
65 void append(
const AList<TTrack>&, leda_color = leda_black,
bool toBeSelfObject =
false );
66 void remove(
const TTrackBase& );
67 void remove(
const AList<TSegment>& );
68 void remove(
const AList<TTrack>& );
69 void appendSz(
const TTrack&,
const AList<TMLink>&, leda_color = leda_black );
70 void appendSz(
const TTrack&,
const AList<TSegment>&, leda_color = leda_black );
73 void append(
const AList<TMLink>&, leda_color = leda_black );
76 void oneShot(
const TTrackBase&, leda_color = leda_black );
77 void oneShot(
const AList<TSegment>&, leda_color = leda_black );
86 void draw(
const TPoint2D&, leda_color = leda_black );
89 std::string
text(
void )
const;
90 void text(
const std::string&
text );
93 void target(
unsigned run,
unsigned farm,
unsigned event );
96 unsigned mode(
unsigned );
100 bool skipAllWindow(
bool );
103 void drawHeader(
void );
104 void drawBase(
const TTrackBase&, leda_color = leda_black );
105 void drawSegment(
const TSegment&, leda_color = leda_black );
106 void drawTrack(
const TTrack&, leda_color = leda_black );
107 void drawLine(
const TMLine&, leda_color = leda_black );
108 void drawAxes(
void );
109 void drawCdc(
void );
110 bool target(
void )
const;
111 std::string wireName(
const TMLink& )
const;
116 double _xmin, _xmax, _ymin;
117 leda_stack<HepVector3D> _zoomHistory[4];
122 int _coordinateButton;
129 int _segmentLinkButton;
130 int _segmentPropertyButton;
140 bool _segmentProperty;
141 static bool _skipAllWindow;
145 CAList<TTrackBase> _objects;
146 AList<TTrackBase> _selfObjects;
147 AList<TMLink> _selfTLinks;
148 AList<leda_color> _colors;
150 double _xPositionText;
151 double _yPositionText;
152 double _yPositionStep;
156 unsigned _targetEvent;
162# ifdef TRKRECO_NO_INLINE
166# define TWINDOW_INLINE_DEFINE_HERE
169# ifdef TWINDOW_INLINE_DEFINE_HERE
171inline void TWindow::append(
const TTrackBase& a, leda_color b,
bool self ) {
172 _objects.append( a );
173 _colors.append(
new leda_color( b ) );
174 if ( self ) _selfObjects.append( (
TTrackBase&)a );
177inline void TWindow::append(
const AList<TSegment>& a, leda_color b,
bool self ) {
178 for (
unsigned i = 0; i < a.length(); i++ )
181 if ( self ) _selfObjects.append( *(
TTrackBase*)a[i] );
185inline void TWindow::append(
const AList<TTrack>& a, leda_color b,
bool self ) {
186 for (
unsigned i = 0; i < a.length(); i++ )
189 if ( self ) _selfObjects.append( *(
TTrackBase*)a[i] );
193inline void TWindow::remove(
const TTrackBase& a ) {
195 while ( ( i = _objects.fIndex( a ) ) != -1 )
197 _objects.remove( i );
198 leda_color* b = _colors[i];
205 for (
unsigned i = 0; i < a.length(); i++ ) { remove( *(
TTrackBase*)a[i] ); }
209 for (
unsigned i = 0; i < a.length(); i++ ) { remove( *(
TTrackBase*)a[i] ); }
212inline void TWindow::open(
void ) {
213 if ( !target() )
return;
221 _window.init( _xmin, _xmax, _ymin );
228inline unsigned TWindow::mode(
unsigned a ) {
237inline bool TWindow::skip(
bool a ) {
return _skip = a; }
239inline bool TWindow::skipAllWindow(
bool a ) {
return _skipAllWindow = a; }
241inline void TWindow::text(
const std::string&
text ) { _text =
text; }
243inline std::string TWindow::text(
void )
const {
return _text; }
HepGeom::Vector3D< double > HepVector3D
m_outputFile open("YYYY/m_txt_dir/LumTau_XXXX.txt", ios_base::app)
A class to represent a track in tracking.
A class to relate TMDCWireHit and TTrack objects.
A class to represent a point in 2D.
A class to relate TMDCWireHit and TTrack objects.
A virtual class for a track class in tracking.
A class to represent a track in tracking.
char * append(const char *str, EvtCyclic3::Index i)