| 1 | #include "DMM/WCHit.h"
 | 
|---|
| 2 | #include "DMM/DataServices.h"
 | 
|---|
| 3 | #include <algorithm>
 | 
|---|
| 4 | 
 | 
|---|
| 5 | class xIncreasingSort {
 | 
|---|
| 6 |  public:
 | 
|---|
| 7 |   bool operator()(const MEMPHYS::DMM::WCHit::SharedPtr& a, 
 | 
|---|
| 8 |                   const MEMPHYS::DMM::WCHit::SharedPtr& b) const {
 | 
|---|
| 9 |     return (a->x() < b->x());
 | 
|---|
| 10 |   }
 | 
|---|
| 11 | };
 | 
|---|
| 12 | 
 | 
|---|
| 13 | 
 | 
|---|
| 14 | int main () {
 | 
|---|
| 15 | 
 | 
|---|
| 16 |   //init les services
 | 
|---|
| 17 |   MEMPHYS::DMM::DataServices* wcHitServices = new MEMPHYS::DMM::DataServices();
 | 
|---|
| 18 | 
 | 
|---|
| 19 |   //A vector of WCHits
 | 
|---|
| 20 |   MEMPHYS::DMM::WCHit::Vector v;
 | 
|---|
| 21 |   
 | 
|---|
| 22 | 
 | 
|---|
| 23 |   //Some Hits
 | 
|---|
| 24 |   //Hit b
 | 
|---|
| 25 |   MEMPHYS::DMM::WCHit::SharedPtr b(new MEMPHYS::DMM::WCHit(*wcHitServices));
 | 
|---|
| 26 |   b->setX(1.0);
 | 
|---|
| 27 |   v.push_back(b);
 | 
|---|
| 28 | 
 | 
|---|
| 29 |   //Hit a
 | 
|---|
| 30 |   MEMPHYS::DMM::WCHit::SharedPtr a(new MEMPHYS::DMM::WCHit(*wcHitServices));
 | 
|---|
| 31 |   a->setX(0.5);
 | 
|---|
| 32 |   v.push_back(a);
 | 
|---|
| 33 | 
 | 
|---|
| 34 |   std::cout << "(JEC): before sorting" << std::endl;
 | 
|---|
| 35 |   for_each(v.begin(),v.end(),MEMPHYS::DMM::DataDump(std::cout,"deep"));
 | 
|---|
| 36 |   
 | 
|---|
| 37 |   sort(v.begin(),v.end(),xIncreasingSort());
 | 
|---|
| 38 |   
 | 
|---|
| 39 |   std::cout << "(JEC): after sorting" << std::endl;
 | 
|---|
| 40 |   for_each(v.begin(),v.end(),MEMPHYS::DMM::DataDump(std::cout,"deep"));
 | 
|---|
| 41 | 
 | 
|---|
| 42 | 
 | 
|---|
| 43 |   
 | 
|---|
| 44 |   MEMPHYS::DMM::WCHit::Vector w;
 | 
|---|
| 45 |   MEMPHYS::DMM::WCHit::SharedPtr aa = a;
 | 
|---|
| 46 |   MEMPHYS::DMM::WCHit::SharedPtr bb = b;
 | 
|---|
| 47 |   w.push_back(bb);
 | 
|---|
| 48 |   w.push_back(aa);
 | 
|---|
| 49 |   w.push_back(a);
 | 
|---|
| 50 | 
 | 
|---|
| 51 | 
 | 
|---|
| 52 |   std::cout << "(JEC): dump w vector" << std::endl;
 | 
|---|
| 53 |   for_each(w.begin(),w.end(),MEMPHYS::DMM::DataDump(std::cout));
 | 
|---|
| 54 | 
 | 
|---|
| 55 |   //Clear 
 | 
|---|
| 56 |   std::cout << "(JEC): Clear" << std::endl;
 | 
|---|
| 57 | 
 | 
|---|
| 58 |   delete wcHitServices;
 | 
|---|
| 59 | 
 | 
|---|
| 60 |   //end
 | 
|---|
| 61 |   std::cout << "(JEC): Return" << std::endl;
 | 
|---|
| 62 |   return 0;
 | 
|---|
| 63 | }
 | 
|---|