/usr/include/CLHEP/GenericFunctions/AbsParameter.hh is in libclhep-dev 2.1.2.3-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 | // -*- C++ -*-
// $Id: AbsParameter.hh,v 1.2 2003/09/06 14:04:13 boudreau Exp $
#ifndef _AbsParameter_h_
#define _AbsParameter_h_
namespace Genfun {
class Parameter;
class ParameterSum;
class ParameterDifference;
class ParameterProduct;
class ParameterQuotient;
class ParameterNegation;
class ConstPlusParameter;
class ConstMinusParameter;
class ConstTimesParameter;
class ConstOverParameter;
/**
* @author
* @ingroup genfun
*/
class AbsParameter {
public:
// Default Constructor
AbsParameter();
// Copy constructor:
AbsParameter(const AbsParameter &);
// Destructor
virtual ~AbsParameter();
// Parameter value
virtual double getValue() const=0;
// Every parameter must override this:
AbsParameter * clone() const;
// Extra lingual type information:
virtual Parameter *parameter() {return 0;}
virtual const Parameter *parameter() const {return 0;}
private:
// Cannot assign an AbsParameter:
AbsParameter & operator= (const AbsParameter &);
virtual AbsParameter *_clone() const=0;
};
// Now for some additional operations:
ConstTimesParameter operator * (double c, const AbsParameter &op2);
ConstPlusParameter operator + (double c, const AbsParameter &op2);
ConstMinusParameter operator - (double c, const AbsParameter &op2);
ConstOverParameter operator / (double c, const AbsParameter &op2);
ConstTimesParameter operator * (const AbsParameter &op2, double c);
ConstPlusParameter operator + (const AbsParameter &op2, double c);
ConstPlusParameter operator - (const AbsParameter &op2, double c);
ConstTimesParameter operator / (const AbsParameter &op2, double c);
ParameterProduct operator * (const AbsParameter &op1, const AbsParameter &op2);
ParameterSum operator + (const AbsParameter &op1, const AbsParameter &op2);
ParameterDifference operator - (const AbsParameter &op1, const AbsParameter &op2);
ParameterQuotient operator / (const AbsParameter &op1, const AbsParameter &op2);
ParameterNegation operator - (const AbsParameter &op1);
typedef const AbsParameter & GENPARAMETER;
} // namespace Genfun
// Poor man's covariant return type:
#define PARAMETER_OBJECT_DEF(classname) \
public: \
classname *clone() const; \
private: \
virtual AbsParameter* _clone() const;
// Poor man's covariant return type:
#define PARAMETER_OBJECT_IMP(classname) \
classname *classname::clone () const { \
return (classname *) _clone(); \
} \
AbsParameter *classname::_clone () const { \
return new classname(*this); \
}
#include "CLHEP/GenericFunctions/ParameterProduct.hh"
#include "CLHEP/GenericFunctions/ParameterSum.hh"
#include "CLHEP/GenericFunctions/ParameterDifference.hh"
#include "CLHEP/GenericFunctions/ParameterQuotient.hh"
#include "CLHEP/GenericFunctions/ParameterNegation.hh"
#include "CLHEP/GenericFunctions/ConstPlusParameter.hh"
#include "CLHEP/GenericFunctions/ConstMinusParameter.hh"
#include "CLHEP/GenericFunctions/ConstTimesParameter.hh"
#include "CLHEP/GenericFunctions/ConstOverParameter.hh"
#endif
|