This file is indexed.

/usr/include/LWH/AnalysisFactory.h is in librivet-dev 1.8.3-1.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// -*- C++ -*-
#ifndef LWH_AnalysisFactory_H
#define LWH_AnalysisFactory_H
//
// This is the declaration of the AnalysisFactory class.
//

#include "AIAnalysisFactory.h"
#include "TreeFactory.h"
#include "HistogramFactory.h"
#include "DataPointSetFactory.h"
#include <set>

/**
 * The LWH namespace contains a Light-Weight Histogram package which
 * implements the most rudimentary histogramming facilities according
 * to the <a href="http://aida.freehep.org">AIDA</a> interface
 * specifications. Currently the only thing that is supported is
 * simple, equally binned, one dimensional histograms and data
 * points. It is mainly intended to be used in applications where one
 * needs to fill simple histograms and output them. With LWH it is
 * then possible to do this without the overhead of a full AIDA
 * implementation, but still having the option to use a full
 * implementation later on with minimal changes. Note also that since
 * LWH consists only of header files, the installation is trivial -
 * just put the header files where they can be found by your compiler.
 */
namespace LWH {

using namespace AIDA;

/**
 * The "master" factory from which other factories are obtained.
 * Typically accessed by:
 * <pre>IAnalysisFactory* af = AIDA_createAnalysisFactory();</pre>
 */
class AnalysisFactory: public IAnalysisFactory {

public:
  /// Destructor.
  virtual ~AnalysisFactory() {
    clear();
  }

  /**
   * Create an ITreeFactory.
   * @return The ITreeFactory.
   */
  ITreeFactory * createTreeFactory() {
    return new TreeFactory;
  }

  /**
   * Create an HistogramFactory.
   * @param tree The ITree which created histograms will be associated to.
   * @return     The IHistogramFactory.
   *
   */
  IHistogramFactory * createHistogramFactory(ITree & tree) {
    Tree & tr = dynamic_cast<Tree &>(tree);
    HistogramFactory * hf = new HistogramFactory(tr);
    histfacs.insert(hf);
    return hf;
  }

  /**
   * Not implemented in LWH.
   * @return     null pointer always.
   *
   */
  IDataPointSetFactory * createDataPointSetFactory(ITree & tree) {
    Tree & tr = dynamic_cast<Tree &>(tree);
    DataPointSetFactory * df = new DataPointSetFactory(tr);
    datafacs.insert(df);
    return df;
  }

  /**
   * Not implemented in LWH.
   * @return     null pointer always.
   */
  ITupleFactory * createTupleFactory(ITree &) {
    return 0;
  }

  /**
   * Not implemented in LWH.
   * @return     null pointer always.
   */
  IFunctionFactory * createFunctionFactory(ITree &) {
    return 0;
  }

  /**
   * Not implemented in LWH.
   * @return     null pointer always.
   */
  IPlotterFactory * createPlotterFactory(int = 0, char * * = 0,
					 const std::string & = "",
					 const std::string & = "") {
    return 0;
  }

  /**
   * Not implemented in LWH.
   * @return     null pointer always.
   */
  IFitFactory * createFitFactory() {
    return 0;
  }

private:

  /** Delete all produced factories. */
  void clear() {
    for ( std::set<HistogramFactory *>::iterator it = histfacs.begin();
	  it != histfacs.end(); ++it ) delete *it;
    for ( std::set<DataPointSetFactory *>::iterator it = datafacs.begin();
	  it != datafacs.end(); ++it ) delete *it;
    for ( std::set<TreeFactory *>::iterator it = treefacs.begin();
	  it != treefacs.end(); ++it ) delete *it;
    histfacs.clear();
    datafacs.clear();
    treefacs.clear();
  }

  /** The histogram factories. */
  std::set<HistogramFactory *> histfacs;

  /** The dataset factories. */
  std::set<DataPointSetFactory *> datafacs;

  /** The tree factories. */
  std::set<TreeFactory *> treefacs;

};

}

#endif /* LWH_AnalysisFactory_H */