![]() |
KaliVeda
Toolkit for HIC analysis
|
Handle a list of positive integers (partition)
Created by KVClassFactory on Mon Mar 29 14:58:00 2010 Author: bonnet
Values are sorted into decreasing order.
Two examples of filling a list:
Fill() can be used to fill the list from an array of values and update relevant quantities: ~~~~{.cpp} KVIntegerList ilist; int tab[] = {1,3,6,4,9,7,3,59,8,160}; ilist->Fill(tab,10); ilist->Print();
Info in <KVIntegerList::Print>: 160 59 9 8 7 6 4 3(2) 1 : population 1 ~~~~{.cpp}
Les methodes de type Add(), remplit successivement la liste, avant d'utiliser les grandeurs reliées
l'utilisateur doit appeler la méthode CheckForUpdate(), pour que la mise a jour du nom soit faite
par contre le nombre d'elements est mis a jour automatiquement
KVIntegerList* ilist = new KVIntegerList();
ilist->Add(23,6);
ilist->Add(12);
Int_t tab[3]={1,3,6};
ilist->Add(tab,3);
ilist->CheckForUpdate();
ilist->Print();
Info in <KVIntegerList::Print>: 23(6) 12 6 3 1 : population 1
ilist->Remove(23,3);
ilist->Print();
Info in <KVIntegerList::Print>: 23(6) 12 6 3 1 : population 1     !!! pour le nom RIEN A CHANGER
ilist->GetNbre();
END_HTML
(const Int_t)7                 le nombre, lui est mis à jour
ilist->CheckForUpdate();
ilist->Print();
Info in <KVIntegerList::Print>: 23(3) 12 6 3 1 : population 1     OK : les modifs ont été prises en compte
ilist->GetNbre()
(const Int_t)7
Les methodes de type Remove(), retirent des valeurs de la liste, là encore l'utilisateur doit appeler la méthode CheckForUpdate(), pour que la mise a jour soit faite Les grandeurs disponibles sont:
Definition at line 69 of file KVIntegerList.h.
#include <KVIntegerList.h>
Public Types | |
enum | { kHastobeComputed = BIT(14) } |
Public Member Functions | |
KVIntegerList () | |
Default constructor. More... | |
virtual | ~KVIntegerList () |
Destructor. More... | |
void | Add (Double_t *tab, Int_t mult) |
Ajout d'un tableau de "mult" valeurs, version Double_t (Conversion Double_t -> Int_t (arrondi, TMath::Nint())) More... | |
void | Add (Double_t val) |
Ajout de la valeur val version Double_t (Conversion Double_t -> Int_t (arrondi, TMath::Nint())) More... | |
void | Add (Double_t val, Int_t freq) |
Ajout de "freq" fois la valeur val. More... | |
void | Add (Int_t *tab, Int_t mult) |
Ajout d'un tableau d'entiers de "mult" valeurs. More... | |
void | Add (Int_t val) |
Ajout de la valeur val (Int_t) More... | |
void | Add (Int_t val, Int_t freq) |
Ajout de "freq" fois la valeur val. More... | |
void | Add (TArrayI *tab) |
void Fill(Double_t* tab,Int_t mult); More... | |
void | AddPopulation (Int_t pop) |
Incrémente la population de "pop" fois. More... | |
void | CheckForUpdate () |
void | Clear (Option_t *option="") |
Classe dérivée de TNamed, Reinitialisation de l'object. More... | |
Int_t | Compare (const TObject *obj) const |
Bool_t | Contains (Int_t val) const |
void | Copy (TObject &named) const |
Classe dérivée de TNamed, fait une copie vers l'objet obj. More... | |
Int_t * | CreateTableOfValues () |
TArrayI * | CreateTArrayI () |
TNamed * | CreateTNamed () |
KVPartition* CreateKVPartition(Int_t mom_max=5);. More... | |
void | Fill (Int_t *tab, Int_t mult) |
void Fill(TArrayI* tab); More... | |
Int_t | GetFrequency (Int_t val) const |
Ssiz_t | GetLengthName () const |
Int_t | GetNbre () const |
Int_t | GetPopulation () const |
void | Print (Option_t *option="") const |
Classe dérivée de TNamed, Imprime la liste formattée et la population associée. More... | |
Bool_t | Remove (Int_t val) |
Bool_t | Remove (Int_t val, Int_t freq) |
Bool_t | RemoveAll (Int_t val) |
void | ResetPopulation () |
Remet à 1 la population (comme dans le ctor) More... | |
void | SetPopulation (Int_t pop) |
Initialise la population à "pop". More... | |
Private Member Functions | |
virtual void | add_values (Int_t val, Int_t freq) |
virtual void | DeducePartitionFromName () |
protected method, utilisee par le Streamer More... | |
virtual void | DeducePartitionFromTNamed () |
virtual void | DeducePopulationFromTitle () |
protected method, utilisee par le Streamer More... | |
void | init () |
virtual Bool_t | remove_values (Int_t val, Int_t freq) |
virtual void | ResetRegle () |
protected method, Mise a zero de l'ensemble des valeurs More... | |
virtual void | SetPartition (const Char_t *par) |
Bool_t | ToBeUpdated () |
protected method, test si les grandeurs associées à la liste doivent etre mises a jour More... | |
virtual void | Update () |
Private Attributes | |
Ssiz_t | fLength |
Longueur du nom de la liste/partition usilisée dans Compare. More... | |
Int_t | fLimiteRegle |
taille max de fRegle More... | |
Int_t | fMult |
Nombre d'éléments dans la liste. More... | |
Int_t | fPop |
population de la liste/partition consideree, permet le comptage de partitions identiques dansun lot de donée More... | |
TArrayI * | fRegle |
tableau d'entiers où sont stockée l'occurence des valeurs More... | |
anonymous enum |
Enumerator | |
---|---|
kHastobeComputed |
Definition at line 95 of file KVIntegerList.h.
KVIntegerList::KVIntegerList | ( | ) |
Default constructor.
Definition at line 35 of file KVIntegerList.cpp.
|
virtual |
Destructor.
Definition at line 46 of file KVIntegerList.cpp.
void KVIntegerList::Add | ( | Double_t * | tab, |
Int_t | mult | ||
) |
Ajout d'un tableau de "mult" valeurs, version Double_t (Conversion Double_t -> Int_t (arrondi, TMath::Nint()))
Definition at line 341 of file KVIntegerList.cpp.
void KVIntegerList::Add | ( | Double_t | val | ) |
Ajout de la valeur val version Double_t (Conversion Double_t -> Int_t (arrondi, TMath::Nint()))
Definition at line 364 of file KVIntegerList.cpp.
void KVIntegerList::Add | ( | Double_t | val, |
Int_t | freq | ||
) |
Ajout de "freq" fois la valeur val.
Definition at line 375 of file KVIntegerList.cpp.
void KVIntegerList::Add | ( | Int_t * | tab, |
Int_t | mult | ||
) |
Ajout d'un tableau d'entiers de "mult" valeurs.
Definition at line 316 of file KVIntegerList.cpp.
void KVIntegerList::Add | ( | Int_t | val | ) |
Ajout de la valeur val (Int_t)
Definition at line 353 of file KVIntegerList.cpp.
void KVIntegerList::Add | ( | Int_t | val, |
Int_t | freq | ||
) |
Ajout de "freq" fois la valeur val.
Definition at line 304 of file KVIntegerList.cpp.
void KVIntegerList::Add | ( | TArrayI * | tab | ) |
void Fill(Double_t* tab,Int_t mult);
Ajout de valeurs via un TArrayI.
Definition at line 328 of file KVIntegerList.cpp.
|
privatevirtual |
protected method, Ajout de "freq" fois la valeur val Verification de la taille du tableau (fLimiteRegle) et extension si besoin
Routine appelée par toutes les autres routines Add(...), c'est celle-ci qui doit etre derivée dans les classes filles Le bit kHastobeComputed es mis à 1 pour indiquer la nécéssité de mettre a jour la partition voir KVIntegerList::CheckForUpdate()
Cette methode incremente la multiplicité fMult
Reimplemented in KVPartition.
Definition at line 276 of file KVIntegerList.cpp.
void KVIntegerList::AddPopulation | ( | Int_t | pop | ) |
Incrémente la population de "pop" fois.
Definition at line 510 of file KVIntegerList.cpp.
void KVIntegerList::CheckForUpdate | ( | ) |
Methode permettant de mettre à jour la liste, elle est a appeler si l'utilisateur a appelé précédemment une méthode Add ou Remove
Definition at line 163 of file KVIntegerList.cpp.
void KVIntegerList::Clear | ( | Option_t * | option = "" | ) |
Classe dérivée de TNamed, Reinitialisation de l'object.
Definition at line 73 of file KVIntegerList.cpp.
Int_t KVIntegerList::Compare | ( | const TObject * | obj | ) | const |
Classe dérivée de TNamed Compare deux objets de type KVIntegerList, le premier test concerne la longueur du nom (KVIntegerList::GetLengthName()) Si elle est identique, on test caractere par caractere, les deux noms TNamed::GetName() Retourne 0 si les noms des deux KVIntegerList sont exactement les memes, -1 sinon;
Definition at line 625 of file KVIntegerList.cpp.
Bool_t KVIntegerList::Contains | ( | Int_t | val | ) | const |
Retourne kTRUE si la valeur "val" est dans la liste, kFALSE sinon dans la liste retourne -1
Definition at line 668 of file KVIntegerList.cpp.
void KVIntegerList::Copy | ( | TObject & | named | ) | const |
Classe dérivée de TNamed, fait une copie vers l'objet obj.
Definition at line 88 of file KVIntegerList.cpp.
Int_t * KVIntegerList::CreateTableOfValues | ( | ) |
Cree un objet tableau d'entier de dimension fMult ( KVIntegerList::GetNbre() ) et rempli par ordre decroissant toutes les valeurs de la partition L'objet cree doit etre effacé après utilisation par l'utilisateur
Definition at line 599 of file KVIntegerList.cpp.
TArrayI * KVIntegerList::CreateTArrayI | ( | ) |
Cree un objet TArrayI de dimension fMult ( KVIntegerList::GetNbre() ) et rempli par ordre decroissant toutes les valeurs de la partition L'objet cree doit etre effacé après utilisation par l'utilisateur
Definition at line 576 of file KVIntegerList.cpp.
TNamed * KVIntegerList::CreateTNamed | ( | ) |
KVPartition* CreateKVPartition(Int_t mom_max=5);.
Cree un objet TNamed le nom de la partition est le champ TNamed::fName et la population de la partition dans le champ TNamed::fTitle voir TNamed L'objet cree doit etre effacé après utilisation par l'utilisateur
Definition at line 559 of file KVIntegerList.cpp.
|
privatevirtual |
protected method, utilisee par le Streamer
Definition at line 750 of file KVIntegerList.cpp.
|
privatevirtual |
protected method, Methode utilisee par le Streamer Récupère les champs de TNamed:fName et TNamed:fTitle et met à jour
Definition at line 723 of file KVIntegerList.cpp.
|
privatevirtual |
protected method, utilisee par le Streamer
Definition at line 737 of file KVIntegerList.cpp.
void KVIntegerList::Fill | ( | Int_t * | tab, |
Int_t | mult | ||
) |
void Fill(TArrayI* tab);
La liste est re initialisée via KVIntegerList::Clear() remplie, puis mise à jour KVIntegerList::Update()
Definition at line 222 of file KVIntegerList.cpp.
Int_t KVIntegerList::GetFrequency | ( | Int_t | val | ) | const |
Retourne l'occurence de la valeur "val", si elle n'est pas présente dans la liste retourne -1
Definition at line 654 of file KVIntegerList.cpp.
Ssiz_t KVIntegerList::GetLengthName | ( | ) | const |
Retourne la longueur du nom de la partition formatée GetName() utilisée dans la methode Compare
Definition at line 682 of file KVIntegerList.cpp.
Int_t KVIntegerList::GetNbre | ( | ) | const |
Definition at line 531 of file KVIntegerList.cpp.
Int_t KVIntegerList::GetPopulation | ( | ) | const |
Definition at line 500 of file KVIntegerList.cpp.
|
private |
Initialisation La population est mise à 1
Definition at line 19 of file KVIntegerList.cpp.
void KVIntegerList::Print | ( | Option_t * | option = "" | ) | const |
Classe dérivée de TNamed, Imprime la liste formattée et la population associée.
Definition at line 102 of file KVIntegerList.cpp.
Bool_t KVIntegerList::Remove | ( | Int_t | val | ) |
On retire 1 fois la valeur val la methode retourne kTRUE si cette valeur etait effectivement presente, kFALSE sinon Le bit kHastobeComputed es mis à 1 pour indiquer la nécéssité de mettre a jour la partition voir KVIntegerList::CheckForUpdate()
Definition at line 451 of file KVIntegerList.cpp.
Bool_t KVIntegerList::Remove | ( | Int_t | val, |
Int_t | freq | ||
) |
On retire "freq" fois la valeur val la methode retourne kTRUE si cette valeur etait effectivement presente, kFALSE sinon Si freq > la frequence initiale ( KVIntegerList::GetFrequency(Int_t ) )de la valeur, on la retire complétement
Definition at line 432 of file KVIntegerList.cpp.
|
privatevirtual |
protected method, On retire "freq" fois la valeur val la methode retourne kTRUE si cette valeur etait effectivement presente, kFALSE sinon Si freq > la frequence initiale ( KVIntegerList::GetFrequency(Int_t ) )de la valeur, on la retire complétement Le bit kHastobeComputed es mis à 1 pour indiquer la nécéssité de mettre a jour la partition voir KVIntegerList::CheckForUpdate() Cette methode est appelée par les autres routines de type Remove...(...), c'est celle-ci qui doit etre derivée dans les classes filles
Cette methode décremente la multiplicité fMult
Reimplemented in KVPartition.
Definition at line 397 of file KVIntegerList.cpp.
Bool_t KVIntegerList::RemoveAll | ( | Int_t | val | ) |
Reture completement la valeur val la methode retourne kTRUE si cette valeur etait effectivement presente, kFALSE sinon
Le bit kHastobeComputed es mis à 1 pour indiquer la nécéssité de mettre a jour la partition voir KVIntegerList::CheckForUpdate()
Definition at line 473 of file KVIntegerList.cpp.
void KVIntegerList::ResetPopulation | ( | ) |
Remet à 1 la population (comme dans le ctor)
Definition at line 490 of file KVIntegerList.cpp.
|
privatevirtual |
protected method, Mise a zero de l'ensemble des valeurs
Definition at line 60 of file KVIntegerList.cpp.
|
privatevirtual |
protected method, utilisée par le Streamer qui utilise le champ fName de la classe TNamed voir également KVIntegerList::DeducePartitionFromTNamed
Definition at line 114 of file KVIntegerList.cpp.
void KVIntegerList::SetPopulation | ( | Int_t | pop | ) |
Initialise la population à "pop".
Definition at line 521 of file KVIntegerList.cpp.
|
private |
protected method, test si les grandeurs associées à la liste doivent etre mises a jour
Definition at line 150 of file KVIntegerList.cpp.
|
privatevirtual |
protected method, Mise a jour du nom de la partition (via SetName()), de sa longueur (fLength) Le bit kHastobeComputed es mis à 0 pour indiquer que la mise à jour a été faite
Reimplemented in KVPartition.
Definition at line 178 of file KVIntegerList.cpp.
|
private |
Longueur du nom de la liste/partition usilisée dans Compare.
Definition at line 77 of file KVIntegerList.h.
|
private |
taille max de fRegle
Definition at line 74 of file KVIntegerList.h.
|
private |
Nombre d'éléments dans la liste.
Definition at line 76 of file KVIntegerList.h.
|
private |
population de la liste/partition consideree, permet le comptage de partitions identiques dansun lot de donée
Definition at line 75 of file KVIntegerList.h.
|
private |
tableau d'entiers où sont stockée l'occurence des valeurs
Definition at line 73 of file KVIntegerList.h.