/usr/include/openturns/ProcessSample.hxx is in libopenturns-dev 1.9-5.
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 | // -*- C++ -*-
/**
* @brief ProcessSample class
*
* Copyright 2005-2017 Airbus-EDF-IMACS-Phimeca
*
* This library is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This library 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef OPENTURNS_PROCESSSAMPLE_HXX
#define OPENTURNS_PROCESSSAMPLE_HXX
#include "openturns/PersistentObject.hxx"
#include "openturns/Point.hxx"
//#include "TimeGrid.hxx"
#include "openturns/Field.hxx"
#include "openturns/Sample.hxx"
#include "openturns/Collection.hxx"
#include "openturns/PersistentCollection.hxx"
BEGIN_NAMESPACE_OPENTURNS
/**
* @class ProcessSample
*
* An interface for time series
*/
class OT_API ProcessSample
: public PersistentObject
{
CLASSNAME;
public:
/** Some typedefs to ease reading */
typedef Collection<Sample> SampleCollection;
typedef PersistentCollection<Sample> SamplePersistentCollection;
/** Default constructor */
ProcessSample();
/** Constructors */
ProcessSample(const UnsignedInteger size,
const Field & field);
ProcessSample(const Mesh & mesh,
const UnsignedInteger size,
const UnsignedInteger dimension);
/** Partial copy constructor */
void add(const Field & field);
void add(const Sample & sample);
#ifndef SWIG
/** Operators accessors */
void setField (const Field & field, const UnsignedInteger i);
Field getField (const UnsignedInteger i) const;
Sample & operator[] (const UnsignedInteger i);
const Sample & operator[] (const UnsignedInteger i) const;
#endif
/** Virtual constructor */
virtual ProcessSample * clone() const;
/** String converter */
String __repr__() const;
String __str__(const String & offset = "") const;
/** Time grid accessors */
RegularGrid getTimeGrid() const;
/** Mesh accessors */
Mesh getMesh() const;
/** Size accessor */
UnsignedInteger getSize() const;
/** Dimension accessor */
UnsignedInteger getDimension() const;
/** Mean accessor */
Field computeMean() const;
/** Temporal mean accessor */
Sample computeTemporalMean() const;
/** Spatial mean accessor */
Sample computeSpatialMean() const;
/** Method computeQuantilePerComponent() gives the quantile per component of the sample */
Field computeQuantilePerComponent(const Scalar prob) const;
/** Get the i-th marginal sample */
ProcessSample getMarginal(const UnsignedInteger index) const;
/** Get the marginal sample corresponding to indices dimensions */
ProcessSample getMarginal(const Indices & indices) const;
/** Draw a marginal of the timeSerie */
Graph drawMarginal(const UnsignedInteger index = 0) const;
/** Method save() stores the object through the StorageManager */
void save(Advocate & adv) const;
/** Method load() reloads the object from the StorageManager */
void load(Advocate & adv);
private:
/** Mesh on which the ProcessSample focuses */
Mesh mesh_;
/** Sample collection of all the fields */
SamplePersistentCollection data_;
}; /* class ProcessSample */
END_NAMESPACE_OPENTURNS
#endif /* OPENTURNS_PROCESSSAMPLE_HXX */
|