Bayeux  3.4.1
Core Foundation library for SuperNEMO
single_occurrence.h
Go to the documentation of this file.
1 /* Author(s) : Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date : 2014-05-11
4  * Last modified : 2014-08-10
5  *
6  * Copyright (C) 2014 Francois Mauger <mauger@lpccaen.in2p3.fr>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 3 of the License, or (at
11  * your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor,
21  * Boston, MA 02110-1301, USA.
22  *
23  * Description:
24  *
25  * Some utilities for the description of configuration variants and parameters.
26  *
27  */
28 
29 #ifndef DATATOOLS_CONFIGURATION_SINGLE_OCCURRENCE_H
30 #define DATATOOLS_CONFIGURATION_SINGLE_OCCURRENCE_H
31 
32 // Standard library:
33 // #include <vector>
34 
35 // Third party:
36 // - Boost:
37 #include <boost/cstdint.hpp>
38 
39 // This project (Bayeux/datatools):
41 
42 namespace datatools {
43 
44  namespace configuration {
45 
48  {
49  public:
50 
52  void set_id(int);
53 
55  int get_id() const;
56 
59 
61  virtual ~single_occurrence();
62 
64  virtual size_t get_dimension() const;
65 
67  virtual size_t get_number_of_occurrences() const;
68 
70  virtual void compute_occurrence(int rank_, single_occurrence & occ_) const;
71 
73  virtual size_t compute_index_path(std::vector<uint32_t> & path_, int rank_) const;
74 
76  virtual std::string to_string() const;
77 
78  private:
79 
80  int32_t _id_;
81 
82  };
83 
84  } // end of namespace configuration
85 
86 } // end of namespace datatools
87 
88 #endif // DATATOOLS_CONFIGURATION_SINGLE_OCCURRENCE_H
89 
90 // Local Variables: --
91 // mode: c++ --
92 // c-file-style: "gnu" --
93 // tab-width: 2 --
94 // End: --
int get_id() const
Return intrinsic id.
virtual size_t get_number_of_occurrences() const
Return the number of occurrences.
virtual size_t get_dimension() const
Return the dimension.
void set_id(int)
Set the intrinsic id.
Single occurrence for a physical parameter in a variant model.
Definition: single_occurrence.h:47
virtual std::string to_string() const
Convert to a string.
virtual void compute_occurrence(int rank_, single_occurrence &occ_) const
Compute the occurrence associated to a given rank.
The Bayeux/datatools library top-level namespace.
Definition: algo.h:13
Abstract interface for all occurrence objects.
Definition: i_occurrence.h:48
virtual size_t compute_index_path(std::vector< uint32_t > &path_, int rank_) const
Compute a multidimensional index path from a rank.