Line data Source code
1 : /*******************************************************************************
2 : * *
3 : * Cosmos:(C)oncept et (O)utils (S)tatistique pour les (Mo)deles *
4 : * (S)tochastiques *
5 : * *
6 : * Copyright (C) 2009-2012 LSV & LACL *
7 : * Authors: Paolo Ballarini & Hilal Djafri *
8 : * Website: http://www.lsv.ens-cachan.fr/Software/cosmos *
9 : * *
10 : * This program is free software; you can redistribute it and/or modify *
11 : * it under the terms of the GNU General Public License as published by *
12 : * the Free Software Foundation; either version 3 of the License, or *
13 : * (at your option) any later version. *
14 : * *
15 : * This program is distributed in the hope that it will be useful, *
16 : * but WITHOUT ANY WARRANTY; without even the implied warranty of *
17 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18 : * GNU General Public License for more details. *
19 : * *
20 : * You should have received a copy of the GNU General Public License along *
21 : * with this program; if not, write to the Free Software Foundation, Inc., *
22 : * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
23 : *******************************************************************************
24 : */
25 :
26 : /*
27 : * This file implement an object for Event of the system
28 : */
29 :
30 : #ifndef _EVENT_HPP
31 : #define _EVENT_HPP
32 :
33 : #include "string"
34 : #include "marking.hpp"
35 : #include <iostream>
36 :
37 : struct sizeSq {
38 10570913 : sizeSq(size_t t,size_t b):tr(t),bid(b){};
39 : size_t tr;
40 : size_t bid;
41 : };
42 :
43 : class Event {
44 : public:
45 :
46 : Event();
47 : Event(const Event& orig);
48 : const Event& operator = (const Event&);
49 : virtual ~Event();
50 : void setTime(double);
51 : void setPriority(size_t);
52 : void setWeight(double);
53 :
54 :
55 : size_t transition;
56 : double time;
57 : double priority;
58 : double weight;
59 : abstractBinding binding;
60 :
61 : bool isPriorer(const Event& e)const;
62 : private:
63 : Event(unsigned int, double);
64 : Event(unsigned int, double, unsigned int, double, const abstractBinding& );
65 :
66 : friend std::ostream& operator<<(std::ostream& os, const Event& dt);
67 : };
68 :
69 :
70 :
71 :
72 : #endif /* _EVENT_HPP */
73 :
|