This file is indexed.

/usr/include/ThePEG/Helicity/WaveFunction/WaveFunctionBase.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
// -*- C++ -*-
//
// WaveFunctionBase.h is a part of ThePEG - Toolkit for HEP Event Generation
// Copyright (C) 2003-2011 Peter Richardson, Leif Lonnblad
//
// 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_WaveFunctionBase_H
#define ThePEG_WaveFunctionBase_H
//
// This is the declaration of the WaveFunctionBase class.

#include <ThePEG/Vectors/Lorentz5Vector.h>
#include <ThePEG/Vectors/LorentzVector.h>
#include <ThePEG/PDT/ParticleData.h>
#include <ThePEG/Helicity/HelicityDefinitions.h>

namespace ThePEG {

namespace Helicity {



/** \ingroup Helicity
 *  Definition of the enumerated values used for the direction of the 
 *  particles in the calculation of the wavefunction.
 */
enum Direction 
{
  incoming, /**< An incoming particle. */
  outgoing, /**< An outgoing particle. */
  intermediate /**< An intermediate particle. */
};

/** \ingroup Helicity
 *  \author Peter Richardson
 *
 * This class is the base class for all wavefunctions for use in helicity amplitude
 * calculations. The general approach is to use a similar philosophy 
 * to the FORTRAN HELAS code but with additional structure.
 *
 * This class contains the storage of the particle type and 5-momentum 
 * and methods to set/access this information.
 *
 * The methods for the wavefunction itself will be implemented in the classes
 * derived from this one for the specific spin type, for example scalar, spinor,
 * vector and tensor. 
 *
 *  @see ScalarWaveFunction
 *  @see SpinorWaveFunction
 *  @see SpinorBarWaveFunction
 *  @see VectorWaveFunction
 *  @see RSSpinorWaveFunction
 *  @see RSSpinorBarWaveFunction
 *  @see TensorWaveFunction
 */
class WaveFunctionBase{

public:

  /// Constructors
  //@{
  /**
   * Default constructor
   */
  WaveFunctionBase() 
    : _particle(), _momentum(), _dir(intermediate) 
  {}

  /**
   * 
   */
  WaveFunctionBase(const Lorentz5Momentum & p,
		   tcPDPtr pd, Direction dir = intermediate) 
    : _particle(pd), _momentum(p), _dir(dir) 
  {
    if(_dir==outgoing) _momentum *= -1.0; 
    if ( dir != outgoing ) {
      tcPDPtr anti = pd->CC();
      if ( anti ) _particle = anti;
    }
  }
  //@}


  /**
   * Access to the momentum components and mass
   */
  //@{
  /**
   * Get the x component of the momentum.
   */
  Energy px() const {return _momentum.x();}

  /**
   * Get the y component of the momentum.
   */
  Energy py() const {return _momentum.y();}

  /**
   * Get the z component of the momentum.
   */
  Energy pz() const {return _momentum.z();}

  /**
   * Get the energy.
   */
  Energy e()  const {return _momentum.e();}

  /**
   * Get the mass.
   */
  Energy mass() const {return _momentum.mass();}

  /**
   * Get off-shell mass squared.
   */
  Energy2 m2() const {return _momentum.m2();}

  /**
   *  Access to the 5-momentum
   */
  const Lorentz5Momentum & momentum() const {return _momentum;}
  //@}

  /**
   *  Access to the particle properties
   */
  //@{
  /** 
   * Get the particle id.
   */
  long id() const {return _particle->id();}

  /** 
   * Get 2s+1 for the particle.
   */
  PDT::Spin iSpin() const {return _particle->iSpin();}

  /**
   * Get the particle pointer.
   */
  tcPDPtr particle() const {return _particle;}

  /** 
   * Get the direction of particle.
   */
  ThePEG::Helicity::Direction direction() const {return _dir;}

  /** 
   * Set the direction of the particle 
   */ 
  void direction(ThePEG::Helicity::Direction in) {_dir=in;} 
  //@}

protected:
  
  /**
   *  Perform the Lorentz transformation of the wave function
   */
  void transformMomentum(const LorentzRotation & r) {
    _momentum.transform(r);
  }

private:

  /**
   * Constant pointer to the particle info.
   */
  tcPDPtr _particle;

  /**
   * Lorentz 5 momentum.
   */
  Lorentz5Momentum _momentum;

  /**
   * Incoming or outgoing.
   */
  Direction _dir;
};
}
}

#endif