KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
KVIntegerList Class Reference

Detailed Description

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:

Example 1

Fill() can be used to fill the list from an array of values and update relevant quantities:

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
Handle a list of positive integers (partition)
void Print(Option_t *option="") const
Classe dérivée de TNamed, Imprime la liste formattée et la population associée.
void Fill(Int_t *tab, Int_t mult)
void Fill(TArrayI* tab);
virtual void Info(const char *method, const char *msgfmt,...) const

{.cpp}

Example 2

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 &nbsp &nbsp !!! pour le nom RIEN A CHANGER
ilist->GetNbre();
(const Int_t)7 &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp le nombre, lui est mis à jour
ilist->CheckForUpdate();
ilist->Print();
Info in <KVIntegerList::Print>: 23(3) 12 6 3 1 : population 1 &nbsp &nbsp OK : les modifs ont été prises en compte
ilist->GetNbre()
(const Int_t)7
END_HTML

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:

  • le nombre d'entiers, ie la multiplicité GetNbre()
  • le nom de la partition definie comme suit : ent1(occ) ent2 ent3(occ3), où entre parenthèses sont notées les occurences aupérieures à 1 d'une valeur
  • la population GetPopulation(), permet de gérer un ensemble de partitions (KVPartitionManager)

Definition at line 69 of file KVIntegerList.h.

#include <KVIntegerList.h>

Inheritance diagram for KVIntegerList:

Public Types

enum  { kHastobeComputed = BIT(14) }
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 

Public Member Functions

 KVIntegerList ()
 Default constructor.
 
virtual ~KVIntegerList ()
 Destructor.
 
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()))
 
void Add (Double_t val)
 Ajout de la valeur val version Double_t (Conversion Double_t -> Int_t (arrondi, TMath::Nint()))
 
void Add (Double_t val, Int_t freq)
 Ajout de "freq" fois la valeur val.
 
void Add (Int_t *tab, Int_t mult)
 Ajout d'un tableau d'entiers de "mult" valeurs.
 
void Add (Int_t val)
 Ajout de la valeur val (Int_t)
 
void Add (Int_t val, Int_t freq)
 Ajout de "freq" fois la valeur val.
 
void Add (TArrayI *tab)
 void Fill(Double_t* tab,Int_t mult);
 
void AddPopulation (Int_t pop)
 Incrémente la population de "pop" fois.
 
void CheckForUpdate ()
 
void Clear (Option_t *option="")
 Classe dérivée de TNamed, Reinitialisation de l'object.
 
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.
 
Int_tCreateTableOfValues ()
 
TArrayICreateTArrayI ()
 
TNamedCreateTNamed ()
 KVPartition* CreateKVPartition(Int_t mom_max=5);.
 
void Fill (Int_t *tab, Int_t mult)
 void Fill(TArrayI* tab);
 
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.
 
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)
 
void SetPopulation (Int_t pop)
 Initialise la population à "pop".
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 
void Clear (Option_t *option="") override
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
void Copy (TObject &named) const override
 
virtual void FillBuffer (char *&buffer)
 
const char * GetName () const override
 
const char * GetTitle () const override
 
ULong_t Hash () const override
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 
TNamedoperator= (const TNamed &rhs)
 
void Print (Option_t *option="") const override
 
virtual void SetName (const char *name)
 
virtual void SetNameTitle (const char *name, const char *title)
 
virtual void SetTitle (const char *title="")
 
virtual Int_t Sizeof () const
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
virtual void Browse (TBrowser *b)
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void Dump () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
virtual void Inspect () const
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *vp)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, void *vp)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Paint (Option_t *option="")
 
virtual void Pop ()
 
virtual Int_t Read (const char *name)
 
virtual void RecursiveRemove (TObject *obj)
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetUniqueID (UInt_t uid)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 

Private Member Functions

virtual void add_values (Int_t val, Int_t freq)
 
virtual void DeducePartitionFromName ()
 protected method, utilisee par le Streamer
 
virtual void DeducePartitionFromTNamed ()
 
virtual void DeducePopulationFromTitle ()
 protected method, utilisee par le Streamer
 
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
 
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
 
virtual void Update ()
 

Private Attributes

Ssiz_t fLength
 Longueur du nom de la liste/partition usilisée dans Compare.
 
Int_t fLimiteRegle
 taille max de fRegle
 
Int_t fMult
 Nombre d'éléments dans la liste.
 
Int_t fPop
 population de la liste/partition consideree, permet le comptage de partitions identiques dansun lot de donée
 
TArrayIfRegle
 tableau d'entiers où sont stockée l'occurence des valeurs
 

Additional Inherited Members

- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kHastobeComputed 

Definition at line 95 of file KVIntegerList.h.

Constructor & Destructor Documentation

◆ KVIntegerList()

KVIntegerList::KVIntegerList ( )

Default constructor.

Definition at line 35 of file KVIntegerList.cpp.

◆ ~KVIntegerList()

KVIntegerList::~KVIntegerList ( )
virtual

Destructor.

Definition at line 46 of file KVIntegerList.cpp.

Member Function Documentation

◆ Add() [1/7]

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.

◆ Add() [2/7]

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.

◆ Add() [3/7]

void KVIntegerList::Add ( Double_t  val,
Int_t  freq 
)

Ajout de "freq" fois la valeur val.

Definition at line 375 of file KVIntegerList.cpp.

◆ Add() [4/7]

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.

◆ Add() [5/7]

void KVIntegerList::Add ( Int_t  val)

Ajout de la valeur val (Int_t)

Definition at line 353 of file KVIntegerList.cpp.

◆ Add() [6/7]

void KVIntegerList::Add ( Int_t  val,
Int_t  freq 
)

Ajout de "freq" fois la valeur val.

Definition at line 304 of file KVIntegerList.cpp.

◆ Add() [7/7]

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.

◆ add_values()

void KVIntegerList::add_values ( Int_t  val,
Int_t  freq 
)
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.

◆ AddPopulation()

void KVIntegerList::AddPopulation ( Int_t  pop)

Incrémente la population de "pop" fois.

Definition at line 510 of file KVIntegerList.cpp.

◆ CheckForUpdate()

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.

◆ Clear()

void KVIntegerList::Clear ( Option_t option = "")
virtual

Classe dérivée de TNamed, Reinitialisation de l'object.

Reimplemented from TObject.

Reimplemented in KVPartition.

Definition at line 73 of file KVIntegerList.cpp.

◆ Compare()

Int_t KVIntegerList::Compare ( const TObject obj) const
virtual

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;

Reimplemented from TObject.

Definition at line 625 of file KVIntegerList.cpp.

◆ Contains()

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.

◆ Copy()

void KVIntegerList::Copy ( TObject named) const
virtual

Classe dérivée de TNamed, fait une copie vers l'objet obj.

Reimplemented from TObject.

Reimplemented in KVPartition.

Definition at line 88 of file KVIntegerList.cpp.

◆ CreateTableOfValues()

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.

◆ CreateTArrayI()

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.

◆ CreateTNamed()

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.

◆ DeducePartitionFromName()

void KVIntegerList::DeducePartitionFromName ( )
privatevirtual

protected method, utilisee par le Streamer

Definition at line 750 of file KVIntegerList.cpp.

◆ DeducePartitionFromTNamed()

void KVIntegerList::DeducePartitionFromTNamed ( )
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.

◆ DeducePopulationFromTitle()

void KVIntegerList::DeducePopulationFromTitle ( )
privatevirtual

protected method, utilisee par le Streamer

Definition at line 737 of file KVIntegerList.cpp.

◆ Fill()

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.

◆ GetFrequency()

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.

◆ GetLengthName()

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.

◆ GetNbre()

Int_t KVIntegerList::GetNbre ( ) const

Definition at line 531 of file KVIntegerList.cpp.

◆ GetPopulation()

Int_t KVIntegerList::GetPopulation ( ) const

Definition at line 500 of file KVIntegerList.cpp.

◆ init()

void KVIntegerList::init ( )
private

Initialisation La population est mise à 1

Definition at line 19 of file KVIntegerList.cpp.

◆ Print()

void KVIntegerList::Print ( Option_t option = "") const
virtual

Classe dérivée de TNamed, Imprime la liste formattée et la population associée.

Reimplemented from TObject.

Reimplemented in KVPartition.

Definition at line 102 of file KVIntegerList.cpp.

◆ Remove() [1/2]

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.

◆ Remove() [2/2]

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.

◆ remove_values()

Bool_t KVIntegerList::remove_values ( Int_t  val,
Int_t  freq 
)
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.

◆ RemoveAll()

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.

◆ ResetPopulation()

void KVIntegerList::ResetPopulation ( )

Remet à 1 la population (comme dans le ctor)

Definition at line 490 of file KVIntegerList.cpp.

◆ ResetRegle()

void KVIntegerList::ResetRegle ( )
privatevirtual

protected method, Mise a zero de l'ensemble des valeurs

Definition at line 60 of file KVIntegerList.cpp.

◆ SetPartition()

void KVIntegerList::SetPartition ( const Char_t par)
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.

◆ SetPopulation()

void KVIntegerList::SetPopulation ( Int_t  pop)

Initialise la population à "pop".

Definition at line 521 of file KVIntegerList.cpp.

◆ ToBeUpdated()

Bool_t KVIntegerList::ToBeUpdated ( )
private

protected method, test si les grandeurs associées à la liste doivent etre mises a jour

Definition at line 150 of file KVIntegerList.cpp.

◆ Update()

void KVIntegerList::Update ( )
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.

Member Data Documentation

◆ fLength

Ssiz_t KVIntegerList::fLength
private

Longueur du nom de la liste/partition usilisée dans Compare.

Definition at line 77 of file KVIntegerList.h.

◆ fLimiteRegle

Int_t KVIntegerList::fLimiteRegle
private

taille max de fRegle

Definition at line 74 of file KVIntegerList.h.

◆ fMult

Int_t KVIntegerList::fMult
private

Nombre d'éléments dans la liste.

Definition at line 76 of file KVIntegerList.h.

◆ fPop

Int_t KVIntegerList::fPop
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.

◆ fRegle

TArrayI* KVIntegerList::fRegle
private

tableau d'entiers où sont stockée l'occurence des valeurs

Definition at line 73 of file KVIntegerList.h.