//this file looks like plain C, but it's actually -*- c++ -*-
#ifndef __TQAnalysisSampleVisitor__
#define __TQAnalysisSampleVisitor__

#include "QFramework/TQCut.h"

#include "QFramework/TQAnalysisSampleVisitorBase.h"
#include "QFramework/TQAlgorithm.h"

class TQAnalysisSampleVisitor : public TQAnalysisSampleVisitorBase, public TQAlgorithm::Manager {
 
protected:
  
  TQCut * fBaseCut;

  int analyseTree(TQSample * sample, TString& message);

  virtual int visitFolder(TQSampleFolder * sampleFolder, TString& message) override;
  virtual int revisitFolder(TQSampleFolder * sampleFolder, TString& message) override;
  virtual int visitSample(TQSample * sample, TString& message) override;
  virtual int revisitSample(TQSample * sample, TString& message) override;
  
public: 
 
  TQAnalysisSampleVisitor();
  TQAnalysisSampleVisitor(TQCut* base, bool verbose = false);

  void setBaseCut(TQCut * baseCut);
  TQCut * getBaseCut();

  void setReduceBranches(bool reduce=true);
 
  virtual ~TQAnalysisSampleVisitor();
 
  ClassDefOverride(TQAnalysisSampleVisitor, 0); // visitor that performs a physics analysis with one or more analysis jobs
 
};

#endif


 TQAnalysisSampleVisitor.h:1
 TQAnalysisSampleVisitor.h:2
 TQAnalysisSampleVisitor.h:3
 TQAnalysisSampleVisitor.h:4
 TQAnalysisSampleVisitor.h:5
 TQAnalysisSampleVisitor.h:6
 TQAnalysisSampleVisitor.h:7
 TQAnalysisSampleVisitor.h:8
 TQAnalysisSampleVisitor.h:9
 TQAnalysisSampleVisitor.h:10
 TQAnalysisSampleVisitor.h:11
 TQAnalysisSampleVisitor.h:12
 TQAnalysisSampleVisitor.h:13
 TQAnalysisSampleVisitor.h:14
 TQAnalysisSampleVisitor.h:15
 TQAnalysisSampleVisitor.h:16
 TQAnalysisSampleVisitor.h:17
 TQAnalysisSampleVisitor.h:18
 TQAnalysisSampleVisitor.h:19
 TQAnalysisSampleVisitor.h:20
 TQAnalysisSampleVisitor.h:21
 TQAnalysisSampleVisitor.h:22
 TQAnalysisSampleVisitor.h:23
 TQAnalysisSampleVisitor.h:24
 TQAnalysisSampleVisitor.h:25
 TQAnalysisSampleVisitor.h:26
 TQAnalysisSampleVisitor.h:27
 TQAnalysisSampleVisitor.h:28
 TQAnalysisSampleVisitor.h:29
 TQAnalysisSampleVisitor.h:30
 TQAnalysisSampleVisitor.h:31
 TQAnalysisSampleVisitor.h:32
 TQAnalysisSampleVisitor.h:33
 TQAnalysisSampleVisitor.h:34
 TQAnalysisSampleVisitor.h:35
 TQAnalysisSampleVisitor.h:36
 TQAnalysisSampleVisitor.h:37
 TQAnalysisSampleVisitor.h:38
 TQAnalysisSampleVisitor.h:39
 TQAnalysisSampleVisitor.h:40
 TQAnalysisSampleVisitor.h:41