FEDRA emulsion software from the OPERA Collaboration
EdbCombGen Class Reference

#include <EdbCombGen.h>

Inheritance diagram for EdbCombGen:
Collaboration diagram for EdbCombGen:

Public Member Functions

 EdbCombGen ()
 
 EdbCombGen (TObjArray &elements, int nitems=-1)
 
bool NextCombination (TObjArray &selected, TObjArray &regected)
 
 ~EdbCombGen ()
 

Private Attributes

vector< bool > eBits
 
TObjArray eElements
 
Int_t eItems
 
Bool_t eNext
 
Int_t eSize
 

Constructor & Destructor Documentation

◆ EdbCombGen() [1/2]

EdbCombGen::EdbCombGen ( )
inline
25 {}

◆ EdbCombGen() [2/2]

EdbCombGen::EdbCombGen ( TObjArray &  elements,
int  nitems = -1 
)

◆ ~EdbCombGen()

EdbCombGen::~EdbCombGen ( )
inline
29 {}

Member Function Documentation

◆ NextCombination()

bool EdbCombGen::NextCombination ( TObjArray &  selected,
TObjArray &  regected 
)
29 {
30  selected.Clear();
31  rejected.Clear();
32 
33  if ( !eNext ) return false;
34 
35  int nfound = 1;
36  for ( int j = 0; j < eSize; j++ )
37  {
38  if (eBits[j] == true )
39  {
40  selected.Add( eElements[j] );
41  nfound++;
42  } else
43  rejected.Add(eElements[j]);
44  }
45  eNext = next_permutation(eBits.begin(), eBits.end());
46  return true;
47 }
Bool_t eNext
Definition: EdbCombGen.h:22
Int_t eSize
Definition: EdbCombGen.h:20
vector< bool > eBits
Definition: EdbCombGen.h:19
TObjArray eElements
Definition: EdbCombGen.h:18

Member Data Documentation

◆ eBits

vector<bool> EdbCombGen::eBits
private

◆ eElements

TObjArray EdbCombGen::eElements
private

◆ eItems

Int_t EdbCombGen::eItems
private

◆ eNext

Bool_t EdbCombGen::eNext
private

◆ eSize

Int_t EdbCombGen::eSize
private

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