This file is indexed.

/usr/include/ns3.27/ns3/cost231-propagation-loss-model.h is in libns3-dev 3.27+dfsg-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
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
 * Copyright (c) 2007,2008, 2009 INRIA, UDcast
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation;
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 * Author: Mohamed Amine Ismail <amine.ismail@sophia.inria.fr>
 *                              <amine.ismail@udcast.com>
 */

#ifndef COST231_PROPAGATION_LOSS_MODEL_H
#define COST231_PROPAGATION_LOSS_MODEL_H

#include "ns3/nstime.h"
#include "ns3/propagation-loss-model.h"

namespace ns3 {

/**
 * \ingroup propagation
 *
 *  \brief The COST-Hata-Model is the most often cited of the COST 231 models.
 *
 *  Also called the Hata Model PCS Extension, it is a radio propagation model
 *  that extends the Hata Model (which in turn is based on the Okumura Model)
 *  to cover a more elaborated range of frequencies. COST (COperation
 *  europ�enne dans le domaine de la recherche Scientifique et Technique)
 *  is a European Union Forum for cooperative scientific research which has
 *  developed this model accordingly to various experiments and researches.
 *  This model is applicable to urban areas. To further evaluate Path Loss
 *  in Suburban or Rural Quasi-open/Open Areas.
 *  Frequency: 1500 MHz to 2000 MHz
 *  Mobile Station Antenna Height: 1 up to 10m
 *  Base station Antenna Height: 30m to 200m
 *  Link Distance:up to 20 km
 *
 */

class Cost231PropagationLossModel : public PropagationLossModel
{

public:
  /**
   * \brief Get the type ID.
   * \return the object TypeId
   */
  static TypeId GetTypeId (void);
  Cost231PropagationLossModel ();

  /**
   * Get the propagation loss
   * \param a the mobility model of the source
   * \param b the mobility model of the destination
   * \returns the propagation loss (in dBm)
   */
  double GetLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;

  /**
   * Set the BS antenna height
   * \param height BS antenna height [m]
   */
  void SetBSAntennaHeight (double height);
  /**
   * Set the SS antenna height
   * \param height SS antenna height [m]
   */
  void SetSSAntennaHeight (double height);

  /**
   * Set the wavelength
   * \param lambda the wavelength
   */
  void SetLambda (double lambda);
  /**
   * Set the wavelength
   * \param frequency the signal frequency [Hz]
   * \param speed the signal speed [m/s]
   */
  void SetLambda (double frequency, double speed);
  /**
   * Set the minimum model distance
   * \param minDistance the minimum model distance
   */
  void SetMinDistance (double minDistance);
  /**
   * Get the BS antenna height
   * \returns BS antenna height [m]
   */
  double GetBSAntennaHeight (void) const;
  /**
   * Get the SS antenna height
   * \returns SS antenna height [m]
   */
  double GetSSAntennaHeight (void) const;
  /**
   * Get the minimum model distance
   * \returns the minimum model distance
   */
  double GetMinDistance (void) const;
  /**
   * Get the wavelength
   * \returns the wavelength
   */
  double GetLambda (void) const;
  /**
   * Get the shadowing value
   * \returns the shadowing value
   */
  double GetShadowing (void);
  /**
   * Set the shadowing value
   * \param shadowing the shadowing value
   */
  void SetShadowing (double shadowing);
private:
  /**
   * \brief Copy constructor
   *
   * Defined and unimplemented to avoid misuse
   */
  Cost231PropagationLossModel (const Cost231PropagationLossModel &);
  /**
   * \brief Copy constructor
   *
   * Defined and unimplemented to avoid misuse
   * \returns
   */
  Cost231PropagationLossModel & operator = (const Cost231PropagationLossModel &);

  virtual double DoCalcRxPower (double txPowerDbm, Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
  virtual int64_t DoAssignStreams (int64_t stream);
  double m_BSAntennaHeight; //!< BS Antenna Height [m]
  double m_SSAntennaHeight; //!< SS Antenna Height [m]
  double m_lambda; //!< The wavelength
  double m_minDistance; //!< minimum distance [m]
  double m_frequency; //!< frequency [Hz]
  double m_shadowing; //!< Shadowing loss [dB]

};

}

#endif /* COST231PROPAGATIONMODEL_H */