Cat
Classes | Functions
Python_Proc.cpp File Reference
#include <vector>
#include <map>
#include <list>
#include "TH1D.h"
#include "ProcDataBase.h"
#include "Processus.h"
#include "Data.h"
#include "Histo1D.h"
#include "Histo2D.h"
#include "TestSuite.h"
#include <boost/python.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>

Go to the source code of this file.

Classes

struct  ProcessusWrap
 

Functions

void export_proc ()
 

Function Documentation

◆ export_proc()

void export_proc ( )

Definition at line 29 of file Python_Proc.cpp.

References Histo1D::bins(), Histo2D::bins(), Histo1D::centers(), Processus::data(), Histo1D::edges(), Processus::element(), Processus::endProcessing(), Processus::execute(), Processus::finalize(), Data::hist1d(), Processus::hist1d(), Data::hist2d(), Processus::hist2d(), Processus::initialize(), ProcDataBase::list(), Histo2D::maxX(), Histo1D::maxX(), Histo1D::maxY(), Histo2D::maxY(), Histo2D::maxZ(), Histo2D::minX(), Histo1D::minX(), Histo1D::minY(), Histo2D::minY(), Histo2D::minZ(), Object::name(), Histo1D::nBin(), Histo2D::nxbins(), Histo2D::nybins(), Histo1D::overflow(), Data::print(), Processus::setElement(), TestSuite::setSigma(), Processus::setStorage(), TestSuite::sigma(), Processus::startProcessing(), Processus::storage(), Object::title(), Histo1D::underflow(), Data::vector(), Histo2D::xbins(), and Histo2D::ybins().

Referenced by BOOST_PYTHON_MODULE().

30 {
31  class_< std::vector<Processus*> >("ProcessusPtrVec")
32  .def(vector_indexing_suite< std::vector<Processus*> >())
33  ;
34 
35  std::vector<Processus*> (ProcDataBase::*listElement)(Element*) = (&ProcDataBase::list);
36  std::vector<Processus*> (ProcDataBase::*listFull)( ) = (&ProcDataBase::list);
37 
38  // class_<ProcDataBase>("ProcDb")
39  // .def("list", listElement)
40  // .def("list", listFull )
41  // ;
42 
43  class_< std::vector<Histo1D*> >("Histo1DPtrVec")
44  .def(vector_indexing_suite< std::vector<Histo1D*> >())
45  ;
46 
47  class_< std::vector<double> >("DoubleVec")
48  .def(vector_indexing_suite< std::vector<double> >())
49  ;
50 
51  class_<Histo1D, bases<Object> >("Histo1D", init<TH1D*>())
52  .def("bins",&Histo1D::bins)
53  .def("xbins",&Histo1D::centers)
54  .def("edges",&Histo1D::edges)
55  .def("minX",&Histo1D::minX)
56  .def("maxX",&Histo1D::maxX)
57  .def("minY",&Histo1D::minY)
58  .def("maxY",&Histo1D::maxY)
59  .def("nbins",&Histo1D::nBin)
60  .def("overflow",&Histo1D::overflow)
61  .def("underflow",&Histo1D::underflow)
62  // .def("overflow",&Histo1D::overflow)
63  ;
64 
65  class_< std::vector< std::pair < unsigned int , Histo1D* > > >("PairIntHisto1DVec")
66  .def(vector_indexing_suite< std::vector< std::pair < unsigned int , Histo1D* > > >())
67  ;
68  /*
69  class_< std::vector< std::vector<double> > > ("VecVecDouble")
70  .def(vector_indexing_suite< std::vector< std::vector < double > > >())
71  ;
72  */
73  class_<Histo2D, bases<Object> >("Histo2D", init<TH2D*>())
74  .def("bins",&Histo2D::bins)
75  .def("xbins",&Histo2D::xbins)
76  .def("ybins",&Histo2D::ybins)
77  .def("minX",&Histo2D::minX)
78  .def("maxX",&Histo2D::maxX)
79  .def("minY",&Histo2D::minY)
80  .def("maxY",&Histo2D::maxY)
81  .def("minY",&Histo2D::minZ)
82  .def("maxY",&Histo2D::maxZ)
83  .def("nxbins",&Histo2D::nxbins)
84  .def("nybins",&Histo2D::nybins)
85  /*
86  .def("overflow",&Histo1D::overflow)
87  .def("underflow",&Histo1D::underflow)
88  */
89  ;
90  /*
91  class_<Plot, bases<Object> >("Plot")
92  .def("histos", &Plot::histos)
93  .def("histo1d",&Plot::histo1d)
94  .def("format", &Plot::format)
95  .def("pos", &Plot::pos)
96  .def("make", &Plot::make)
97  .def("draw", &Plot::draw)
98  ;
99  */
100  std::vector<double> (Data::*vectorx0)(unsigned int) = (&Data::vector);
101  std::vector<double> (Data::*vectorx1)(std::string) = (&Data::vector);
102 
103  Histo1D* (Data::*hist1dx0)(unsigned int) = (&Data::hist1d);
104  Histo1D* (Data::*hist1dx1)(std::string) = (&Data::hist1d);
105  Histo2D* (Data::*hist2dx0)(unsigned int) = (&Data::hist2d);
106  Histo2D* (Data::*hist2dx1)(std::string) = (&Data::hist2d);
107 
108  class_<Data, bases<Object> >("Data")
109  .def("name", &Data::name)
110  .def("title", &Data::title)
111  .def("vector",vectorx0)
112  .def("vector",vectorx1)
113  .def("info", &Data::print)
114  .def("hist1d",hist1dx0,return_value_policy<reference_existing_object>())
115  .def("hist1d",hist1dx1,return_value_policy<reference_existing_object>())
116  .def("hist2d",hist2dx0,return_value_policy<reference_existing_object>())
117  .def("hist2d",hist2dx1,return_value_policy<reference_existing_object>())
118  ;
119 
120  Data* (Processus::*datax0) () = (&Processus::data);
121  std::vector<double> (Processus::*datax1) (std::string) = (&Processus::data);
122  std::vector<double> (Processus::*datax2) (unsigned int) = (&Processus::data);
123 
124  Histo1D* (Processus::*datax3) (unsigned int) = (&Processus::hist1d);
125  Histo2D* (Processus::*datax4) (unsigned int) = (&Processus::hist2d);
126 
127  class_<ProcessusWrap, boost::noncopyable, bases<Object> >("Processus")
128  .def("initialize",pure_virtual(&Processus::initialize))
129  .def("execute",pure_virtual(&Processus::execute))
130  .def("finalize",pure_virtual(&Processus::finalize))
131  .def("startProcessing",&Processus::startProcessing)
132  .def("endProcessing",&Processus::endProcessing)
133  .def("setStorage",&Processus::setStorage)
134  .def("storage",&Processus::storage)
135  .def("setElement",&Processus::setElement)
136  .def("element",&Processus::element,return_value_policy<reference_existing_object>())
137  .def("data",datax0,return_value_policy<reference_existing_object>())
138  .def("data",datax1)
139  .def("data",datax2)
140  .def("hist1d",datax3,return_value_policy<reference_existing_object>())
141  .def("hist2d",datax4,return_value_policy<reference_existing_object>())
142  ;
143 
144  class_<TestSuite, bases<Processus> > ("TestSuite")
145  .def("setSigma", &TestSuite::setSigma)
146  .def("sigma", &TestSuite::sigma)
147  ;
148 }
double minX()
Definition: Histo1D.h:45
std::vector< double > ybins()
Definition: Histo2D.h:80
void setElement(Element *element)
Definition: Processus.h:217
double maxY()
Definition: Histo1D.cpp:70
StatusCode endProcessing()
Definition: Processus.cpp:115
std::string title()
Definition: Object.h:31
std::vector< double > bins()
Definition: Histo1D.h:49
double sigma(int i)
Definition: TestSuite.h:37
std::vector< double > centers()
Definition: Histo1D.h:53
std::vector< double > vector(unsigned int)
Definition: Data.cpp:146
double maxY()
Definition: Histo2D.h:47
double minY()
Definition: Histo1D.cpp:66
std::vector< double > edges()
Definition: Histo1D.h:57
double maxZ()
Definition: Histo2D.h:55
std::vector< Processus * > list()
virtual StatusCode execute()=0
void setStorage(std::string storage)
Definition: Processus.h:106
unsigned long nybins()
Definition: Histo2D.h:88
virtual StatusCode finalize()=0
void print()
Definition: Data.cpp:186
Histo1D * hist1d(unsigned int row)
Definition: Processus.h:138
unsigned long nBin()
Definition: Histo1D.h:61
Histo1D * hist1d(unsigned int row)
Definition: Data.h:30
double overflow()
Definition: Histo1D.h:75
std::vector< double > xbins()
Definition: Histo2D.h:76
std::string name() const
Definition: Object.h:28
double maxX()
Definition: Histo2D.h:39
StatusCode startProcessing()
Definition: Processus.cpp:93
Element * element()
Definition: Processus.h:231
Histo2D * hist2d(unsigned int row)
Definition: Data.h:35
Definition: Data.h:16
StatusCode setSigma(double m1, double m2, double m3, double m4)
Definition: TestSuite.h:29
double maxX()
Definition: Histo1D.h:42
Histo2D * hist2d(unsigned int row)
Definition: Processus.h:146
std::string storage()
Definition: Processus.h:205
std::vector< double > bins()
Definition: Histo2D.h:72
unsigned long nxbins()
Definition: Histo2D.h:84
double minY()
Definition: Histo2D.h:43
virtual StatusCode initialize()=0
double minZ()
Definition: Histo2D.h:51
Data * data()
Definition: Processus.h:114
double underflow()
Definition: Histo1D.h:78
double minX()
Definition: Histo2D.h:35