89 TSelector::TSelector() : TObject()
 
   95    fOutput = 
new TSelectorList;
 
  102 TSelector::~TSelector()
 
  116 void TSelector::Abort(
const char *why, EAbort what)
 
  119    TString mess = 
"Abort";
 
  120    if (fAbort == kAbortProcess)
 
  121       mess = 
"AbortProcess";
 
  122    else if (fAbort == kAbortFile)
 
  125    Info(mess, 
"%s", why);
 
  142 TSelector *TSelector::GetSelector(
const char *filename)
 
  146    Bool_t fromFile = kFALSE;
 
  147    if (strchr(filename, 
'.') != 0) {
 
  150       localname += filename;
 
  151       gROOT->ProcessLine(localname);
 
  157    const char *basename = gSystem->BaseName(filename);
 
  159       ::Error(
"TSelector::GetSelector",
"unable to determine the classname for file %s", filename);
 
  162    TString aclicmode,args,io;
 
  163    localname = gSystem->SplitAclicMode(basename,aclicmode,args,io);
 
  164    if (localname.Last(
'.') != kNPOS)
 
  165       localname.Remove(localname.Last(
'.'));
 
  171    Bool_t autoloaderr = kFALSE;
 
  172    if (!fromFile && gCling->AutoLoad(localname) != 1)
 
  175    TClass *selCl = TClass::GetClass(localname);
 
  178       auto offset = selCl->GetBaseClassOffset(TSelector::Class());
 
  182             ::Error(
"TSelector::GetSelector",
 
  183                     "The class %s in file %s does not derive from TSelector.", localname.Data(), filename);
 
  184          else if (autoloaderr)
 
  185             ::Error(
"TSelector::GetSelector", 
"class %s could not be loaded", filename);
 
  187             ::Error(
"TSelector::GetSelector",
 
  188                     "class %s does not exist or does not derive from TSelector", filename);
 
  191       char *result = (
char*)selCl->New();
 
  194       return (TSelector*)(result+offset);
 
  197       ClassInfo_t *cl = gCling->ClassInfo_Factory(localname);
 
  199       Bool_t nameFound = kFALSE;
 
  200       if (cl && gCling->ClassInfo_IsValid(cl)) {
 
  201          if (localname == gCling->ClassInfo_FullName(cl)) {
 
  203             if (gCling->ClassInfo_IsBase(cl,
"TSelector")) ok = kTRUE;
 
  209                ::Error(
"TSelector::GetSelector",
 
  210                        "The class %s in file %s does not derive from TSelector.", localname.Data(), filename);
 
  212                ::Error(
"TSelector::GetSelector",
 
  213                        "The file %s does not define a class named %s.", filename, localname.Data());
 
  217                ::Error(
"TSelector::GetSelector", 
"class %s could not be loaded", filename);
 
  219                ::Error(
"TSelector::GetSelector",
 
  220                        "class %s does not exist or does not derive from TSelector", filename);
 
  222          gCling->ClassInfo_Delete(cl);
 
  227       TSelector *selector = (TSelector*)gCling->ClassInfo_New(cl);
 
  228       gCling->ClassInfo_Delete(cl);
 
  237 Bool_t TSelector::IsStandardDraw(
const char *selec)
 
  241       ::Info(
"TSelector::IsStandardDraw",
 
  242              "selector name undefined - do nothing");
 
  246    Bool_t stdselec = kFALSE;
 
  247    if (!strchr(selec, 
'.')) {
 
  248       if (strstr(selec, 
"TSelectorDraw")) {
 
  251          TClass *cl = TClass::GetClass(selec);
 
  252          if (cl && (cl->InheritsFrom(
"TProofDraw") ||
 
  253                     cl->InheritsFrom(
"TSelectorDraw")))
 
  270 void TSelector::ImportOutput(TList *output) {
 
  273    if (!output || output->GetSize() <= 0) {
 
  281    TIter nxexo(fOutput);
 
  282    while ((o = nxexo())) {
 
  283       if (output->FindObject(o)) output->Remove(o);
 
  288    while ((o = nxo())) {
 
  293    output->SetOwner(kFALSE);
 
  294    output->Clear(
"nodelete");
 
  300 Bool_t TSelector::ProcessCut(Long64_t )
 
  317 void TSelector::ProcessFill(Long64_t )
 
  330 Bool_t TSelector::Process(Long64_t ) {