CMS 3D CMS Logo

List of all members | Public Types | Static Public Member Functions
TensorIndex_base1< d1, d2, d3, d4 > Class Template Reference

#include <TensorIndex.h>

Public Types

enum  { SIZE = d1 * d2 * d3 * d4 }
 
enum  { LEN1 = d1 }
 
enum  { LEN2 = d2 }
 
enum  { LEN3 = d3 }
 
enum  { LEN4 = d4 }
 

Static Public Member Functions

static int indexOf (const int i)
 
static int indexOf (const int i, const int j)
 
static int indexOf (const int i, const int j, const int k)
 
static int indexOf (const int i, const int j, const int k, const int l)
 

Detailed Description

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
class TensorIndex_base1< d1, d2, d3, d4 >

Definition at line 31 of file TensorIndex.h.

Member Enumeration Documentation

◆ anonymous enum

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
anonymous enum
Enumerator
SIZE 

Definition at line 33 of file TensorIndex.h.

33 { SIZE = d1 * d2 * d3 * d4 };
static constexpr float d1

◆ anonymous enum

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
anonymous enum
Enumerator
LEN1 

Definition at line 34 of file TensorIndex.h.

34 { LEN1 = d1 };
static constexpr float d1

◆ anonymous enum

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
anonymous enum
Enumerator
LEN2 

Definition at line 35 of file TensorIndex.h.

◆ anonymous enum

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
anonymous enum
Enumerator
LEN3 

Definition at line 36 of file TensorIndex.h.

◆ anonymous enum

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
anonymous enum
Enumerator
LEN4 

Definition at line 37 of file TensorIndex.h.

Member Function Documentation

◆ indexOf() [1/4]

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
static int TensorIndex_base1< d1, d2, d3, d4 >::indexOf ( const int  i)
inlinestatic

Definition at line 39 of file TensorIndex.h.

References mps_fire::i.

39 { return i - 1; }

◆ indexOf() [2/4]

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
static int TensorIndex_base1< d1, d2, d3, d4 >::indexOf ( const int  i,
const int  j 
)
inlinestatic

Definition at line 40 of file TensorIndex.h.

References d1, mps_fire::i, and dqmiolumiharvest::j.

40 { return j * d1 + i - 1 - d1; }
static constexpr float d1

◆ indexOf() [3/4]

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
static int TensorIndex_base1< d1, d2, d3, d4 >::indexOf ( const int  i,
const int  j,
const int  k 
)
inlinestatic

Definition at line 41 of file TensorIndex.h.

References d1, mps_fire::i, dqmiolumiharvest::j, and dqmdumpme::k.

41 { return (k * d2 + j) * d1 + i - 1 - d1 - d1 * d2; }
static constexpr float d1

◆ indexOf() [4/4]

template<int d1, int d2 = 1, int d3 = 1, int d4 = 1>
static int TensorIndex_base1< d1, d2, d3, d4 >::indexOf ( const int  i,
const int  j,
const int  k,
const int  l 
)
inlinestatic

Definition at line 42 of file TensorIndex.h.

References d1, mps_fire::i, dqmiolumiharvest::j, dqmdumpme::k, and MainPageGenerator::l.

42  {
43  return ((l * d3 + k) * d2 + j) * d1 + i - 1 - d1 - d1 * d2 - d1 * d2 * d3;
44  }
static constexpr float d1