This file is indexed.

/usr/include/ThePEG/PDT/CombinedMatcher.h is in libthepeg-dev 1.8.0-3build1.

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
// -*- C++ -*-
//
// CombinedMatcher.h is a part of ThePEG - Toolkit for HEP Event Generation
// Copyright (C) 1999-2011 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_CombinedMatcher_H
#define ThePEG_CombinedMatcher_H
// This is the declaration of the AndMatcher, OrMatcher and NotMatcher.


#include "Matcher.h"

namespace ThePEG {

/**
 * The AndMatcher class represents the boolean <i>and</i> operation between
 * its two template argument classes of base type MatcherBase.
 *
 * @see MatcherBase
 */
template <class T1, class T2>
struct AndMatcher: public MatcherType {

  /**
   * Typedef for the class representing the matcher for the
   * charge-gonjugate of particles matched by this class.
   */
  typedef AndMatcher<typename T1::CC, typename T2::CC> CC;

  /**
   * Check match. Return true if the particle type \a pd is matched by
   * this class (ie. by both of the template argument classes).
   */
  static bool Check(const ParticleData & pd) {
    return T1::Check(pd) && T2::Check(pd);
  }

};

/**
 * The OrMatcher class represents the boolean <i>or</i> operation
 * between its two template argument classes of base type MatcherBase.
 *
 * @see MatcherBase
 */
template <class T1, class T2>
struct OrMatcher: public MatcherType {

  /**
   * Typedef for the class representing the matcher for the
   * charge-gonjugate of particles matched by this class.
   */
  typedef OrMatcher<typename T1::CC, typename T2::CC> CC;

  /**
   * Check match. Return true if the particle type \a pd is matched by
   * this class (ie. by either of the template argument classes).
   */
  static bool Check(const ParticleData & pd) {
    return T1::Check(pd) || T2::Check(pd);
  }

};

/**
 * The NotMatcher class represents the boolean <i>not</i> operation
 * for its template argument class of base type MatcherBase.
 *
 * @see MatcherBase
 */
template <class T>
struct NotMatcher: public MatcherType {

  /**
   * Typedef for the class representing the matcher for the
   * charge-gonjugate of particles matched by this class.
   */
  typedef NotMatcher<typename T::CC> CC;

  /**
   * Check match. Return true if the particle type \a pd is matched by
   * this class (ie. if it is not matched by the template argument
   * class).
   */
  static bool Check(const ParticleData & pd) {
    return !T::Check(pd);
  }

};

}

#endif /* ThePEG_CombinedMatcher_H */