14 #include "msdevstudio/MSconfig.h"
32 using std::runtime_error;
36 using namespace hippodraw;
58 const vector< string > &
67 const vector < string > &
82 const std::vector < std::string > & bindings )
const
84 if ( ntuple == 0 )
return false;
87 vector < string > ::const_iterator first = bindings.begin ();
88 while ( first != bindings.end() ) {
89 const string & label = *first++;
90 if ( label ==
"nil" )
continue;
91 ntuple -> throwIfInvalidLabel ( label );
97 const vector < string > &
103 return factory ->
names ();
113 rep = factory -> create ( type );
116 const string what = e.
what ();
120 projector -> addObserver ( rep );
129 const std::vector < std::string > & bindings )
const
148 const std::vector < std::string > & bindings )
const
158 const vector < const TupleCut * > & cuts = ntProjector -> getCutList ();
159 unsigned int size = cuts.size ();
160 for (
unsigned int i = 0; i <
size; i++ ) {
162 const string & label = tc -> getLabel ();
163 unsigned int index = ntProjector -> indexOf ( label );
165 cut -> setColumn ( index );
177 assert ( projector != 0 );
179 DataSource * source = projector -> getNTuple ();
180 source -> removeObserver ( rep );
182 const vector < string > & bindings = projector -> getAxisBindings ();
187 catch (
const runtime_error & e ) {