FEDRA emulsion software from the OPERA Collaboration
|
sort collection with attributes More...
#include <TIndexCell.h>
Public Member Functions | |
Int_t | Add (Int_t narg, Long_t varg[]) |
Int_t | Add (Long_t p1) |
TIndexCell * | At (Int_t idx) const |
TIndexCell const * | At (Int_t narg, Int_t vind[]) const |
Int_t | Compare (const TObject *obj) const |
Int_t | ComparePatterns (Int_t nind, Long_t vdiff[], TIndexCell *cin, Int_t strip=0) |
Int_t | ComparePatterns (Int_t nind, TIndexCell *cin, Int_t srtip=0) |
void | Delete () |
void | Drop () |
void | Drop (int i) |
void | DropButFirst (int level) |
void | DropButLast (int level) |
int | DropCouples (int level) |
TIndexCell * | Find (Int_t narg, Long_t varg[]) const |
TIndexCell * | Find (Long_t p1) const |
TIndexCell * | FindAdd (Long_t p1) |
Int_t | GetEntries () const |
Int_t | GetValues (Int_t level, Int_t vind[], Long_t val[]) const |
ULong_t | Hash () const |
Bool_t | IsEqual (const TObject *obj) const |
Bool_t | IsSortable () const |
TObjArray * | List () const |
Int_t | MaxN (Int_t level) const |
Int_t | MaxN (Int_t level, Int_t vind[]) const |
Long_t | MaxV (Int_t level) const |
Long_t | MaxV (Int_t level, Int_t vind[]) const |
Int_t | MinN (Int_t level) const |
Int_t | MinN (Int_t level, Int_t vind[]) const |
Long_t | MinV (Int_t level) const |
Long_t | MinV (Int_t level, Int_t vind[]) const |
Int_t | N () const |
Int_t | N (Int_t level) const |
Int_t | Nlevels () const |
void | Print (Option_t *) const |
void | PrintPopulation (int level) const |
void | PrintStat () const |
void | Purge (int level) |
void | SetName (const char *varlist) |
void | SetValue (Long_t p1) |
void | Shift (Int_t n, Long_t vshift[]) |
void | Shift (Long_t vshift) |
void | Sort (Int_t upto=kMaxInt) |
TIndexCell () | |
TIndexCell (const TIndexCell &c) | |
TIndexCell (Long_t p1) | |
Long_t | Value () const |
~TIndexCell () | |
Private Attributes | |
TObjArray * | fList |
list of TIndexCell's More... | |
Long_t | fValue |
hash value More... | |
Friends | |
class | TIndexCellIter |
class | TIndexCellIterV |
sort collection with attributes
//////////////////////////////////////////////////////////////////////// // TIndexCell // // sort collection with attributes // // ////////////////////////////////////////////////////////////////////////
|
inline |
TIndexCell::TIndexCell | ( | const TIndexCell & | c | ) |
TIndexCell::~TIndexCell | ( | ) |
Int_t TIndexCell::Add | ( | Int_t | narg, |
Long_t | varg[] | ||
) |
Int_t TIndexCell::Add | ( | Long_t | p1 | ) |
|
inline |
TIndexCell const * TIndexCell::At | ( | Int_t | narg, |
Int_t | vind[] | ||
) | const |
return cell located at vind[narg] address
|
inline |
Int_t TIndexCell::ComparePatterns | ( | Int_t | nind, |
Long_t | vdiff[], | ||
TIndexCell * | cin, | ||
Int_t | strip = 0 |
||
) |
Compare 2 TIndexCells of the same structure and find number of common
cells at the given level and if(strip): drop all the rest (for current pattern)
vdiff - is the vector of values (levels) to be taken into account of
the length level
vdiff[i] = 0 - require value of i-th level being the same (exact comparison)
>0 - abs(value2-value1) <= vdiff[i]
Int_t TIndexCell::ComparePatterns | ( | Int_t | nind, |
TIndexCell * | cin, | ||
Int_t | srtip = 0 |
||
) |
void TIndexCell::Delete | ( | ) |
void TIndexCell::Drop | ( | int | i | ) |
void TIndexCell::DropButFirst | ( | int | level | ) |
drop all elements except of first one in all cells on the level
void TIndexCell::DropButLast | ( | int | level | ) |
drop all elements except of last one in all cells on the level
int TIndexCell::DropCouples | ( | int | level | ) |
drop all overoccupated cells on the level
TIndexCell * TIndexCell::Find | ( | Int_t | narg, |
Long_t | varg[] | ||
) | const |
TIndexCell * TIndexCell::Find | ( | Long_t | p1 | ) | const |
TIndexCell * TIndexCell::FindAdd | ( | Long_t | p1 | ) |
|
inline |
Int_t TIndexCell::GetValues | ( | Int_t | level, |
Int_t | vind[], | ||
Long_t | val[] | ||
) | const |
|
inline |
|
inline |
|
inline |
|
inline |
Int_t TIndexCell::MaxN | ( | Int_t | level | ) | const |
return population of the maximal populated cell on the given level
Int_t TIndexCell::MaxN | ( | Int_t | level, |
Int_t | vind[] | ||
) | const |
return population of the maximal populated cell on the given level and cell address
TODO: check this routine
Long_t TIndexCell::MaxV | ( | Int_t | level | ) | const |
return maximal value on the given level
Long_t TIndexCell::MaxV | ( | Int_t | level, |
Int_t | vind[] | ||
) | const |
return maximal value on the given level and cell address
Int_t TIndexCell::MinN | ( | Int_t | level | ) | const |
return population of the mimimal populated cell on the given level
Int_t TIndexCell::MinN | ( | Int_t | level, |
Int_t | vind[] | ||
) | const |
return population of the mimimal populated cell on the given level and cell address
TODO: check this routine
Long_t TIndexCell::MinV | ( | Int_t | level | ) | const |
return mimimal value on the given level
Long_t TIndexCell::MinV | ( | Int_t | level, |
Int_t | vind[] | ||
) | const |
return mimimal value on the given level and vector of indexes
Int_t TIndexCell::N | ( | ) | const |
return total number of basic cells (last level where fList=0)
Int_t TIndexCell::N | ( | Int_t | level | ) | const |
Int_t TIndexCell::Nlevels | ( | ) | const |
return maximal depth of nested arrays
void TIndexCell::Print | ( | Option_t * | opt | ) | const |
void TIndexCell::PrintPopulation | ( | int | level | ) | const |
void TIndexCell::PrintStat | ( | ) | const |
void TIndexCell::Purge | ( | int | level | ) |
void TIndexCell::SetName | ( | const char * | varlist | ) |
void TIndexCell::Shift | ( | Int_t | n, |
Long_t | vshift[] | ||
) |
Shift al values of level i on the vshift[i]
|
inline |
|
friend |
|
friend |
|
private |
list of TIndexCell's
|
private |
hash value