BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
MinorBase Class Reference

#include <minor.h>

+ Inheritance diagram for MinorBase:

Public Member Functions

 MinorBase ()
 
- Public Member Functions inherited from SRefCnt
 SRefCnt ()
 

Static Public Member Functions

static int ns (int i, int j) CONST
 
static int nss (int i, int j) CONST
 
static int is (int i, int j) CONST
 
static int is (int i, int j, int k) CONST
 
static int is (int i, int j, int k, int l) CONST
 
static int iss (int i, int j) CONST
 
static int iss (int i, int j, int k) CONST
 
static int iss (int i, int j, int k, int l) CONST
 
static int iss (int i, int j, int k, int l, int m) CONST
 
static double getmeps ()
 
static int im3 (int i, int j, int k) CONST
 
static int im2 (int i, int j) CONST
 
static int signM3ud (int i, int j, int k, int l, int m, int n) CONST
 
static int signM2ud (int i, int j, int l, int m) CONST
 
static void freeidxM3 (int set[], int free[])
 
static void Rescale (double factor)
 

Static Protected Attributes

static const unsigned char idxtbl [64]
 
static const double teps =1e-14
 
static const double heps =1e-15
 
static const double ceps =5e-2
 
static const double deps1 =5e-2
 
static const double deps2 =5e-2
 
static const double deps3 =5e-2
 
static const double seps1 =1e-8
 
static const double seps2 =1e-5
 
static const double epsir1 =5e-6
 
static const double epsir2 =5e-6
 
static double deps =1e-14
 
static double meps =1e-10
 
static double m3eps =1
 

Additional Inherited Members

- Protected Attributes inherited from SRefCnt
int count
 

Detailed Description

Definition at line 51 of file minor.h.

Constructor & Destructor Documentation

◆ MinorBase()

MinorBase::MinorBase ( )
inline

Definition at line 54 of file minor.h.

54{}

Member Function Documentation

◆ freeidxM3()

void MinorBase::freeidxM3 ( int  set[],
int  free[] 
)
static

Definition at line 109 of file minor.cpp.

110{
111 free[0]=0;
112 free[1]=1;
113 free[2]=2;
114
115 int ic=0;
116 int nc=0;
117 while (ic < 3 && nc < 3) {
118 if (free[nc]==set[ic]) {
119 for (int cc=nc; cc<3; cc++) {
120 free[cc]++;
121 }
122 ic++;
123 } else {
124 nc++;
125 }
126 }
127}

◆ getmeps()

static double MinorBase::getmeps ( )
inlinestatic

Definition at line 148 of file minor.h.

149 {
150 return meps;
151 }
static double meps
Definition: minor.h:189

◆ im2()

int MinorBase::im2 ( int  i,
int  j 
)
inlinestatic

◆ im3()

int MinorBase::im3 ( int  i,
int  j,
int  k 
)
inlinestatic

Definition at line 613 of file minor.h.

614{
615 return idxtbl[(1<<i)|(1<<j)|(1<<k)];
616}

Referenced by Minor5::I2D2stu(), Minor5::I2D3stu(), Minor5::I2D4stu(), Minor5::I2D5stu(), Minor5::I2D6stu(), Minor5::I2Dstu(), Minor5::I2stu(), and Minor5::M3().

◆ is() [1/3]

static int MinorBase::is ( int  i,
int  j 
)
inlinestatic

◆ is() [2/3]

static int MinorBase::is ( int  i,
int  j,
int  k 
)
inlinestatic

Definition at line 90 of file minor.h.

91 {
92 if (i <= j) {
93 return (j <= k ? i+ti2[j]+ti3[k] : is(i,k)+ti3[j]);
94 }
95 else {
96 return (i > k ? is(j,k)+ti3[i] : j+ti2[i]+ti3[k]);
97 }
98 }
static int is(int i, int j) CONST
Definition: minor.h:85

◆ is() [3/3]

static int MinorBase::is ( int  i,
int  j,
int  k,
int  l 
)
inlinestatic

Definition at line 100 of file minor.h.

101 {
102 if (i <= j) {
103 if (j <= k) {
104 return (k <= l ? i+ti2[j]+ti3[k]+ti4[l]
105 : is(i,j,l)+ti4[k] );
106 }
107 else {
108 return (j > l ? is(i,k,l)+ti4[j]
109 : is(i,k)+ti3[j]+ti4[l] );
110 }
111 }
112 else {
113 if (i > k) {
114 return (i > l ? is(j,k,l)+ti4[i]
115 : is(j,k)+ti3[i]+ti4[l] );
116 }
117 else {
118 return (k <= l ? j+ti2[i]+ti3[k]+ti4[l]
119 : is(i,j,l)+ti4[k] );
120 }
121 }
122 }

◆ iss() [1/4]

static int MinorBase::iss ( int  i,
int  j 
)
inlinestatic

Definition at line 124 of file minor.h.

125 {
126 assert(i<=j);
127 return i+j*(j+1)/2;
128 }

Referenced by ICache::getE().

◆ iss() [2/4]

static int MinorBase::iss ( int  i,
int  j,
int  k 
)
inlinestatic

Definition at line 130 of file minor.h.

131 {
132 assert(i <= j && j <= k);
133 return i+ti2[j]+ti3[k];
134 }

◆ iss() [3/4]

static int MinorBase::iss ( int  i,
int  j,
int  k,
int  l 
)
inlinestatic

Definition at line 136 of file minor.h.

137 {
138 assert(i <= j && j <= k && k <= l);
139 return i+ti2[j]+ti3[k]+ti4[l];
140 }

◆ iss() [4/4]

static int MinorBase::iss ( int  i,
int  j,
int  k,
int  l,
int  m 
)
inlinestatic

Definition at line 142 of file minor.h.

143 {
144 assert(i <= j && j <= k && k <= l && l <= m);
145 return i+ti2[j]+ti3[k]+ti4[l]+ti5[m];
146 }

◆ ns()

static int MinorBase::ns ( int  i,
int  j 
)
inlinestatic

Definition at line 74 of file minor.h.

75 {
76 return ( i<=j ? (i-1)+((j-1)*j)/2 : (j-1)+((i-1)*i)/2 );
77 }

◆ nss()

static int MinorBase::nss ( int  i,
int  j 
)
inlinestatic

Definition at line 79 of file minor.h.

80 {
81 return (i-1)+((j-1)*j)/2;
82 }

◆ Rescale()

void MinorBase::Rescale ( double  factor)
static

Definition at line 35 of file minor.cpp.

36{
37 meps*=factor;
38 m3eps*=factor*factor;
39}
static double m3eps
Definition: minor.h:190

Referenced by ICache::setMu2().

◆ signM2ud()

int MinorBase::signM2ud ( int  i,
int  j,
int  l,
int  m 
)
inlinestatic

Definition at line 635 of file minor.h.

636{
637 int t=(j-i)*(m-l);
638 return t==0 ? 0 : 2*(t>>(sizeof(int)*8-1))+1;
639}
int t()
Definition: t.c:1

Referenced by Minor5::M2().

◆ signM3ud()

int MinorBase::signM3ud ( int  i,
int  j,
int  k,
int  l,
int  m,
int  n 
)
inlinestatic

Definition at line 627 of file minor.h.

628{
629 int t=(j-i)*(k-j)*(k-i)*(m-l)*(n-m)*(n-l);
630 return t==0 ? 0 : 2*(t>>(sizeof(int)*8-1))+1;
631}
const Int_t n

Referenced by Minor5::M3().

Member Data Documentation

◆ ceps

const double MinorBase::ceps =5e-2
staticprotected

Definition at line 176 of file minor.h.

◆ deps

double MinorBase::deps =1e-14
staticprotected

Definition at line 188 of file minor.h.

◆ deps1

const double MinorBase::deps1 =5e-2
staticprotected

Definition at line 178 of file minor.h.

◆ deps2

const double MinorBase::deps2 =5e-2
staticprotected

Definition at line 179 of file minor.h.

◆ deps3

const double MinorBase::deps3 =5e-2
staticprotected

Definition at line 180 of file minor.h.

◆ epsir1

const double MinorBase::epsir1 =5e-6
staticprotected

Definition at line 185 of file minor.h.

◆ epsir2

const double MinorBase::epsir2 =5e-6
staticprotected

Definition at line 186 of file minor.h.

◆ heps

const double MinorBase::heps =1e-15
staticprotected

Definition at line 174 of file minor.h.

◆ idxtbl

const unsigned char MinorBase::idxtbl
staticprotected

Definition at line 171 of file minor.h.

Referenced by im2(), and im3().

◆ m3eps

double MinorBase::m3eps =1
staticprotected

Definition at line 190 of file minor.h.

Referenced by Rescale().

◆ meps

double MinorBase::meps =1e-10
staticprotected

Definition at line 189 of file minor.h.

Referenced by getmeps(), and Rescale().

◆ seps1

const double MinorBase::seps1 =1e-8
staticprotected

Definition at line 182 of file minor.h.

◆ seps2

const double MinorBase::seps2 =1e-5
staticprotected

Definition at line 183 of file minor.h.

◆ teps

const double MinorBase::teps =1e-14
staticprotected

Definition at line 173 of file minor.h.


The documentation for this class was generated from the following files: