This file is indexed.

/usr/include/ThePEG/Handlers/StdXCombGroup.h is in libthepeg-dev 1.8.0-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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
// -*- C++ -*-
//
// StdXCombGroup.h is a part of ThePEG - Toolkit for HEP Event Generation
// Copyright (C) 1999-2007 Leif Lonnblad
// Copyright (C) 2009-2010 Simon Platzer
//
// ThePEG is licenced under version 2 of the GPL, see COPYING for details.
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
//
#ifndef ThePEG_StdXCombGroup_H
#define ThePEG_StdXCombGroup_H
// This is the declaration of the StdXCombGroup class.

#include "StandardXComb.h"
#include "StdDependentXComb.h"
#include "StdXCombGroup.fh"
#include "ThePEG/MatrixElement/MEGroup.fh"

namespace ThePEG {

/**
 * The StdXCombGroup class represents a 'head' XComb object
 * in association with a group of dependent XComb objects.
 *
 * @see StdDependendXComb
 * @see MEGroup
 */
class StdXCombGroup: public StandardXComb {

  /** MEBase needs to be a friend. */
  friend class MEBase;

public:

  /** @name Standard constructors and destructors. */
  //@{
  /**
   * Standard constructor.
   */
  StdXCombGroup(Energy newMaxEnergy, const cPDPair & inc,
		tEHPtr newEventHandler,tSubHdlPtr newSubProcessHandler,
		tPExtrPtr newExtractor,	tCascHdlPtr newCKKW,
		const PBPair & newPartonBins, tCutsPtr newCuts, tMEGroupPtr newME,
		const DiagramVector & newDiagrams, bool mir);

  /**
   * Default constructor.
   */
  StdXCombGroup();

  /**
   * Destructor.
   */
  virtual ~StdXCombGroup();

public:

  /**
   * Generate a phase space point from a vector \a r of \a nr numbers
   * in the interval ]0,1[ and return the corresponding differential
   * cross section.
   */
  virtual CrossSection dSigDR(const pair<double,double> ll, int nr, const double * r);

  /**
   * Return the cross section calculated from the head matrix element
   */
  CrossSection lastHeadCrossSection() const { return theLastHeadCrossSection; }

  /**
   * Visit the dependent XComb objects
   */
  const StdDepXCVector& dependent() const { return theDependent; }

  /**
   * Return the matrix element group steered by this
   * XComb group.
   */
  tcMEGroupPtr meGroup() const { return theMEGroup; }

  /**
   * Initialize this XComb group
   */
  void build(const PartonPairVec& allPBins);

  /**
   * Construct a sub-process object from the information available.
   */
  virtual tSubProPtr construct();

protected:

  /**
   * Construct the corresponding SubProcess object if it hasn't been
   * done before.
   */
  virtual void newSubProcess(bool);

public:

  /** @name Functions used by the persistent I/O system. */
  //@{
  /**
   * Function used to write out object persistently.
   * @param os the persistent output stream written to.
   */
  void persistentOutput(PersistentOStream & os) const;

  /**
   * Function used to read in object persistently.
   * @param is the persistent input stream read from.
   * @param version the version number of the object when written.
   */
  void persistentInput(PersistentIStream & is, int version);
  //@}

  /**
   * Standard Init function used to initialize the interface.
   */
  static void Init();

protected:

  /**
   * Set the cross section calculated from the head matrix element
   */
  void lastHeadCrossSection(CrossSection xs) { theLastHeadCrossSection = xs; }

private:

  /**
   * The MEGroup object
   */
  MEGroupPtr theMEGroup;

  /**
   * The dependent XComb objects
   */
  StdDepXCVector theDependent;

  /**
   * The cross section calculated from the head matrix element
   */
  CrossSection theLastHeadCrossSection;

private:

  /**
   * Describe a concrete class with persistent data.
   */
  static ClassDescription<StdXCombGroup> initStdXCombGroup;
 
  /**
   * Private and non-existent assignment operator.
   */
  StdXCombGroup & operator=(const StdXCombGroup &);

};

/** @cond TRAITSPECIALIZATIONS */

/**
 * This template specialization informs ThePEG about the base class of
 * StdXCombGroup.
 */
template <>
struct BaseClassTrait<StdXCombGroup,1> {
  /** Typedef of the base class of StdXCombGroup. */
  typedef StandardXComb NthBase;
};

/**
 * This template specialization informs ThePEG about the name of the
 * StdXCombGroup class.
 */
template <>
struct ClassTraits<StdXCombGroup>:
    public ClassTraitsBase<StdXCombGroup> {
  /** Return the class name. */
  static string className() { return "ThePEG::StdXCombGroup"; }
};

/** @endcond */

}

#endif /* ThePEG_StdXCombGroup_H */