2017-03-01 18:25:26 +01:00
|
|
|
// -*- C++ -*-
|
2017-02-17 18:10:03 +01:00
|
|
|
|
|
|
|
#ifndef __multi_array_header_h__
|
|
|
|
#define __multi_array_header_h__
|
|
|
|
|
|
|
|
#include <cstdlib>
|
2017-12-18 11:19:04 +01:00
|
|
|
//#include "base_def.h"
|
|
|
|
//#include "range_base.h"
|
|
|
|
//#include "index_base.h"
|
|
|
|
//#include "single_range.h"
|
|
|
|
//#include "multi_range.h"
|
|
|
|
//#include "container_range.h"
|
|
|
|
//#include "block.h"
|
2017-08-11 15:26:10 +02:00
|
|
|
#include "multi_array_operation.h"
|
2017-08-08 18:07:58 +02:00
|
|
|
#include "multi_array.h"
|
2017-11-20 20:53:48 +01:00
|
|
|
#include "helper_tools.h"
|
2017-07-28 14:02:44 +02:00
|
|
|
//#include "slice.h"
|
|
|
|
//#include "manipulator.h"
|
|
|
|
//#include "range_transformer.h"
|
|
|
|
//#include "ma_functional.h"
|
2017-02-17 18:10:03 +01:00
|
|
|
|
2017-03-01 18:25:26 +01:00
|
|
|
namespace MultiArrayTools
|
|
|
|
{
|
|
|
|
|
|
|
|
/*********************************
|
|
|
|
* Some standard definitions *
|
|
|
|
*********************************/
|
2017-07-28 14:02:44 +02:00
|
|
|
/*
|
2017-03-01 18:25:26 +01:00
|
|
|
// ===== Index Types =====
|
|
|
|
|
|
|
|
typedef SingleIndex<size_t,RangeType::ANY> GenericNI;
|
|
|
|
typedef SingleIndex<double,RangeType::ANY> GenericFI;
|
|
|
|
typedef SingleIndex<size_t,RangeType::LORENTZ> LorentzI;
|
|
|
|
typedef SingleIndex<int,RangeType::SPACE> Space1dNI;
|
|
|
|
typedef SingleIndex<int,RangeType::MOMENTUM> Mom1dNI;
|
2017-03-02 19:27:46 +01:00
|
|
|
typedef SingleIndex<size_t,RangeType::ENSEMBLE> EnsI;
|
2017-03-29 17:05:50 +02:00
|
|
|
typedef SingleIndex<std::array<int,3>, RangeType::MOMENTUM> LinMomI;
|
|
|
|
typedef SingleIndex<std::array<int,4>, RangeType::MOMENTUM> LinMom4dI;
|
2017-03-01 18:25:26 +01:00
|
|
|
// ...
|
|
|
|
|
|
|
|
// ===== Range Types =====
|
|
|
|
|
|
|
|
typedef SingleRange<size_t,RangeType::ANY> GenericNR;
|
|
|
|
typedef SingleRange<double,RangeType::ANY> GenericFR;
|
|
|
|
typedef SingleRange<size_t,RangeType::LORENTZ> LorentzR;
|
|
|
|
typedef SingleRange<int,RangeType::SPACE> Space1dNR;
|
2017-03-27 19:29:51 +02:00
|
|
|
typedef SingleRange<size_t,RangeType::DISTANCE> DistanceNR;
|
2017-03-01 18:25:26 +01:00
|
|
|
typedef SingleRange<int,RangeType::MOMENTUM> Mom1dNR;
|
2017-03-02 19:27:46 +01:00
|
|
|
typedef SingleRange<size_t, RangeType::ENSEMBLE> EnsR;
|
2017-03-01 18:25:26 +01:00
|
|
|
typedef MultiRange<Space1dNR,Space1dNR,Space1dNR> Space3dNR;
|
|
|
|
typedef MultiRange<Mom1dNR,Mom1dNR,Mom1dNR> Mom3dNR;
|
2017-03-14 23:00:41 +01:00
|
|
|
typedef SingleRange<VET, RangeType::VALUE_ERROR> ValErrR;
|
2017-03-29 17:05:50 +02:00
|
|
|
typedef SingleRange<std::array<int,3>, RangeType::MOMENTUM> LinMomR;
|
|
|
|
typedef SingleRange<std::array<int,4>, RangeType::MOMENTUM> LinMom4dR;
|
2017-03-01 18:25:26 +01:00
|
|
|
// ...
|
2017-07-28 14:02:44 +02:00
|
|
|
*/
|
2017-09-11 12:54:24 +02:00
|
|
|
|
2017-03-01 18:25:26 +01:00
|
|
|
}
|
|
|
|
|
2017-02-17 18:10:03 +01:00
|
|
|
#endif
|