This file is indexed.

/usr/include/Pythia8/Pythia8/BoseEinstein.h is in libpythia8-dev 8.1.86-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
// Bose-Einstein.h is a part of the PYTHIA event generator.
// Copyright (C) 2014 Torbjorn Sjostrand.
// PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
// Please respect the MCnet Guidelines, see GUIDELINES for details.

// This file contains the classes to handle Bose-Einstein effects.
// BoseEinsteinHadron: simple working container for particle momenta.
// BoseEinstein: main class to perform the task.

#ifndef Pythia8_BoseEinstein_H
#define Pythia8_BoseEinstein_H

#include "Pythia8/Basics.h"
#include "Pythia8/Event.h"
#include "Pythia8/ParticleData.h"
#include "Pythia8/PythiaStdlib.h"
#include "Pythia8/Settings.h"

namespace Pythia8 {
 
//==========================================================================
 
// The BoseEinsteinHadron class is a simple container for studied hadrons.

class BoseEinsteinHadron {

public:

  // Constructors.
  BoseEinsteinHadron() : id(0), iPos(0), p(0.), pShift(0.), pComp(0.),
    m2(0.) {}
  BoseEinsteinHadron(int idIn,  int iPosIn, Vec4 pIn, double mIn) :
    id(idIn), iPos(iPosIn), p(pIn), pShift(0.), pComp(0.) {m2 = mIn*mIn;}

  // Information on hadron - all public.
  int    id, iPos;
  Vec4   p, pShift, pComp;
  double m2;

};

//==========================================================================

// The BoseEinstein class shifts the momenta of identical particles relative
// to each other, to simulate Bose-Einstein effects to some approximation.

class BoseEinstein {

public:

  // Constructor.
  BoseEinstein() {}

  // Find settings. Precalculate table used to find momentum shifts.
  bool init(Info* infoPtrIn, Settings& settings, ParticleData& particleData);

  // Perform Bose-Einstein corrections on an event.
  bool shiftEvent( Event& event);

private:

  // Constants: could only be changed in the code itself.
  static const int    IDHADRON[9], ITABLE[9], NCOMPSTEP;
  static const double STEPSIZE, Q2MIN, COMPRELERR, COMPFACMAX;

  // Initialization data, read from Settings.
  bool   doPion, doKaon, doEta;
  double lambda, QRef;

  // Pointer to various information on the generation.
  Info* infoPtr;

  // Table of momentum shifts for different hadron species.
  int    nStep[4], nStep3[4], nStored[10];
  double QRef2, QRef3, R2Ref, R2Ref2, R2Ref3, mHadron[9],
         mPair[4], m2Pair[4], deltaQ[4], deltaQ3[4], maxQ[4], maxQ3[4];
  double shift[4][200], shift3[4][200];

  // Vector of hadrons to study.
  vector<BoseEinsteinHadron> hadronBE;

  // Calculate shift and (unnormalized) compensation for pair.
  void shiftPair(int i1, int i2, int iHad);
  
};
 
//==========================================================================

} // end namespace Pythia8

#endif // Pythia8_BoseEinstein_H