This file is indexed.

/usr/include/ThePEG/Helicity/Vertex/AbstractFFVVertex.h is in libthepeg-dev 1.8.0-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
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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
// -*- C++ -*-
#ifndef HELICITY_AbstractFFVVertex_H
#define HELICITY_AbstractFFVVertex_H
//
// This is the declaration of the AbstractFFVVertex class.
//

#include "VertexBase.h"
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
#include "AbstractFFVVertex.fh"

namespace ThePEG {
namespace Helicity {

/**
 * The AbstractFFVVertex class provides a base class for all
 * fermion-fermion-vector vertices in ThePEG.
 */
class AbstractFFVVertex: public VertexBase {

public:

  /**
   *  Enum for the direction in the small angle limit
   */
  enum SmallAngleDirection {
    NegativeZDirection = -1, ///< Along -z 
    PostiveZDirection  =  1  ///< Along +z 
  };
  
public:


  /**
   * Default constructor
   */
  AbstractFFVVertex() : VertexBase(VertexType::FFV) {}

  /**
   * Members to calculate the helicity amplitude expressions for vertices
   * and off-shell particles.
   */
  //@{
  /**
   * Evalulate the vertex.
   * @param q2 The scale \f$q^2\f$ for the coupling at the vertex.
   * @param sp1   The wavefunction for the ferimon.
   * @param sbar2 The wavefunction for the antifermion.
   * @param vec3  The wavefunction for the vector.
   */
  virtual Complex evaluate(Energy2 q2,const SpinorWaveFunction & sp1,
			   const SpinorBarWaveFunction & sbar2,
			   const VectorWaveFunction & vec3) = 0;

  /**
   * Evaluate the off-shell barred spinor coming from the vertex.
   * @param q2 The scale \f$q^2\f$ for the coupling at the vertex.
   * @param iopt Option of the shape of the Breit-Wigner for the off-shell barred spinor.
   * @param out The ParticleData pointer for the off-shell barred spinor.
   * @param sbar2 The wavefunction for the antifermion.
   * @param vec3  The wavefunction for the vector.
   * @param mass The mass of the off-shell particle if not taken from the ParticleData
   * object
   * @param width The width of the off-shell particle if not taken from the ParticleData
   * object
   */
  virtual SpinorBarWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out,
					 const SpinorBarWaveFunction & sbar2,
					 const VectorWaveFunction & vec3,
					 complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;

  /**
   * Evaluate the off-shell vector coming from the vertex.
   * @param q2 The scale \f$q^2\f$ for the coupling at the vertex.
   * @param iopt Option of the shape of the Breit-Wigner for the off-shell vector.
   * @param out The ParticleData pointer for the off-shell vector.
   * @param sp1   The wavefunction for the ferimon.
   * @param sbar2 The wavefunction for the antifermion.
   * @param mass The mass of the off-shell particle if not taken from the ParticleData
   * object
   * @param width The width of the off-shell particle if not taken from the ParticleData
   * object
   */
  virtual VectorWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out,
				      const SpinorWaveFunction & sp1,
				      const SpinorBarWaveFunction & sbar2,
				      complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;

  /**
   * Evaluate the off-shell spinor coming from the vertex.
   * @param q2 The scale \f$q^2\f$ for the coupling at the vertex.
   * @param iopt Option of the shape of the Breit-Wigner for the off-shell spinor.
   * @param out The ParticleData pointer for the off-shell spinor.
   * @param sp1   The wavefunction for the ferimon.
   * @param vec3  The wavefunction for the vector.
   * @param mass The mass of the off-shell particle if not taken from the ParticleData
   * object
   * @param width The width of the off-shell particle if not taken from the ParticleData
   * object
   */
  virtual SpinorWaveFunction evaluate(Energy2 q2,int iopt,tcPDPtr out,
				      const SpinorWaveFunction & sp1,
				      const VectorWaveFunction & vec3,
				      complex<Energy> mass=-GeV, complex<Energy> width=-GeV) = 0;
  //@}

  /**
   *  Special members for off-shell fermion wavefunctions with massless
   *  gauge bosons at small angles in the small angle limit for
   *  numerical accuracy. In order to get sufficient accuracy it is
   *  assumed that the fermion lies along either the positive or negative z
   *  axis
   *
   *  Unlike the other members this is not required to be implemented in
   *  all inheriting classes and a default implementation which returns
   *  the general result is included.
   */
  //@{
  /** Small angle approx for an off-shell spinor
   * @param q2 The scale \f$q^2\f$ for the coupling at the vertex.
   * @param iopt Option of the shape of the Breit-Wigner for the off-shell spinor.
   * @param out The ParticleData pointer for the off-shell spinor.
   * @param sp1   The wavefunction for the ferimon.
   * @param vec3  The wavefunction for the vector.
   * @param fhel Helicity of the fermion
   * @param vhel Helicity of the vector
   * @param ctheta   The cosine of the 
   *                 polar angle of the photon with respect to the fermion
   * @param phi      The azimuthal angle of the photon with respect to the fermion
   * @param stheta   The sine of the
   *                 polar angle of the photon with respect to the fermion
   * @param includeEikonal Whether or not to include the eikonal piece
   * @param direction Whether fermion along + or - z direction
   * @param mass The mass of the off-shell particle if not taken from the ParticleData
   * object
   * @param width The width of the off-shell particle if not taken from the ParticleData
   * object
   */
  virtual SpinorWaveFunction evaluateSmall(Energy2 q2,int iopt, tcPDPtr out,
					   const SpinorWaveFunction & sp1,
					   const VectorWaveFunction & vec3,
					   unsigned int fhel, unsigned int vhel,
					   double ctheta, double phi, double stheta,
					   bool includeEikonal = true,
					   SmallAngleDirection direction = PostiveZDirection,
					   Energy mass=-GeV, Energy width=-GeV);

  /** Small angle approx for an off-shell spinor
   * @param q2 The scale \f$q^2\f$ for the coupling at the vertex.
   * @param iopt Option of the shape of the Breit-Wigner for the off-shell spinor.
   * @param out The ParticleData pointer for the off-shell spinor.
   * @param sbar2 The wavefunction for the antifermion.
   * @param vec3  The wavefunction for the vector.
   * @param fhel Helicity of the fermion
   * @param vhel Helicity of the vector
   * @param ctheta   The cosine of the 
   *                 polar angle of the photon with respect to the fermion
   * @param phi      The azimuthal angle of the photon with respect to the fermion
   * @param stheta   The sine of the
   *                 polar angle of the photon with respect to the fermion
   * @param includeEikonal Whether or not to include the eikonal piece
   * @param direction Whether fermion along + or - z direction
   * @param mass The mass of the off-shell particle if not taken from the ParticleData
   * object
   * @param width The width of the off-shell particle if not taken from the ParticleData
   * object
   */
  virtual SpinorBarWaveFunction evaluateSmall(Energy2 q2,int iopt, tcPDPtr out,
					      const SpinorBarWaveFunction & sbar2,
					      const VectorWaveFunction & vec3,
					      unsigned int fhel, unsigned int vhel,
					      double ctheta, double phi, double stheta,
					      bool includeEikonal = true,
					      SmallAngleDirection direction = PostiveZDirection,
					      Energy mass=-GeV, Energy width=-GeV);
  //@}

public:

  /**
   * The standard Init function used to initialize the interfaces.
   * Called exactly once for each class by the class description system
   * before the main function starts or
   * when this class is dynamically loaded.
   */
  static void Init();

private:

  /**
   * The static object used to initialize the description of this class.
   * Indicates that this is an abstract class without persistent data.
   */
  static AbstractNoPIOClassDescription<AbstractFFVVertex> initAbstractFFVVertex;

  /**
   * The assignment operator is private and must never be called.
   * In fact, it should not even be implemented.
   */
  AbstractFFVVertex & operator=(const AbstractFFVVertex &);

};

}
}

#include "ThePEG/Utilities/ClassTraits.h"

namespace ThePEG {

/** @cond TRAITSPECIALIZATIONS */

/** This template specialization informs ThePEG about the
 *  base classes of AbstractFFVVertex. */
template <>
struct BaseClassTrait<Helicity::AbstractFFVVertex,1> {
  /** Typedef of the first base class of AbstractFFVVertex. */
  typedef Helicity::VertexBase NthBase;
};

/** This template specialization informs ThePEG about the name of
 *  the AbstractFFVVertex class and the shared object where it is defined. */
template <>
struct ClassTraits<Helicity::AbstractFFVVertex>
  : public ClassTraitsBase<Helicity::AbstractFFVVertex> {
  /** Return a platform-independent class name */
  static string className() { return "Helicity::AbstractFFVVertex"; }
};

/** @endcond */

}

#endif /* HELICITY_AbstractFFVVertex_H */