Analysis
version 7.0 - august 2014
|
#include <TreeInfo.hh>
Public Member Functions | |
TreeInfo (const string &t_name, const EventManager *mgr, const string &f_name="", UInt_t n_max=10000000) | |
TreeInfo (const TreeInfo &original) | |
virtual | ~TreeInfo () |
virtual Int_t | GetFileNumber () const |
virtual void | SetFileNumber (const Int_t f_num, Int_t f_sub=0) |
virtual string | GetFileBase () const |
virtual void | SetFileBase (const string &f_base) |
virtual Int_t | SetTreeFile (const string &f_name, const UInt_t n_max) |
virtual string | GetTreeFile () const |
virtual string | GetFileName () const |
virtual UInt_t | GetFileMode () const |
virtual TTree * | GetTTreePtr () const |
virtual UInt_t | GetMaxEvent () const |
virtual UInt_t | GetParamNumber () const |
virtual string | GetParamName (const UInt_t par_num) const |
virtual Bool_t | AddParam (const Param *p_ptr) |
virtual Bool_t | AddParam (const string &p_name) |
virtual Bool_t | AddParam (const Int_t p_num) |
virtual Int_t | AddParamRange (const Int_t p1, const Int_t p2) |
virtual Int_t | AddAllParam () |
virtual Int_t | Init () |
virtual Int_t | Open () |
virtual Int_t | Close () |
virtual Bool_t | IsOpen () |
virtual Bool_t | IsClosed () |
virtual Bool_t | IsLocked () |
const Param * | GetEventParamPtr (const u_int par_num) const |
const Param * | GetEventParamPtr (const string &par_name) const |
TreeParam * | GetTreeParamPtr (const u_int par_num) const |
TreeParam * | GetTreeParamPtr (const string &par_name) const |
TreeParam * | Find (const string &par_name) const |
TreeParam * | Find (const Int_t par_num) const |
TreeParam * | Find (const Param *par_ptr) const |
void | Start () |
void | Stop () |
void | Suspend () |
bool | IsStarted () const |
bool | IsStopped () const |
bool | IsSuspended () const |
bool | IsIncremented () const |
virtual bool | UsesContour (const RContour *ct, const bool rec=true) const |
virtual bool | UsesFilter (const Filter *f, const bool rec=true) const |
bool | FilterCheck () const |
virtual void | Increment () |
string | GetFilterName () const |
virtual string | FilterInfo () const |
virtual const Filter * | GetFilterPtr () const |
virtual void | SetFilter (const Filter *f) |
virtual void | ResetFilter () |
virtual bool | Write (ostream &os) const |
virtual bool | Write (FILE *fptr) const |
ClassDef (TreeInfo, 0) | |
Static Public Member Functions | |
static TreeInfo * | ReadTreeInfo (FILE *fptr, const EventManager *mgr, int &error) |
Protected Member Functions | |
bool | FilterFastCheck () const |
virtual void | IncrementFast () |
virtual void | IncrementTree () |
Protected Attributes | |
const EventManager * | evt_mgr |
pointeur sur le gestionnaire d'événement | |
RString | tree_file |
nom du fichier de sortie du TTree | |
string | file_name |
nom effectif du fichier en cours | |
string | tree_dir |
répertoire du TTree dans l'arborescence ROOT | |
TTree * | tree_ptr |
pointeur sur le TTree de ROOT | |
TFile * | file_ptr |
pointeur sur le fichier ROOT associé | |
Int_t | file_number |
numéro de fichier associé | |
Int_t | file_sub |
numéro de fichier associé | |
string | file_base |
nom de base de fichier associé | |
UInt_t | tree_mode |
mode de création des fichiers | |
UInt_t | event_max |
nombre maxi d'événements | |
UInt_t | event_num |
nombre d'événements déjà placés | |
UInt_t | branch_num |
nombre de branches | |
string * | branch_name |
table des noms des branches | |
string * | branch_def |
table des définitions des branches | |
Int_t * | branch_size |
table des tailles des branches (0 pour une branche variable) | |
TBranch ** | branch_ptr |
table des pointeurs des branches | |
char ** | branch_buffer |
table des buffers de données par branche | |
Int_t * | branch_leaf_num |
table des nombres de feuilles par branche | |
TLeaf *** | branch_leaf_ptr |
tables des pointeurs des feuilles pour chaque branche | |
Int_t ** | branch_leaf_off |
tables des positions des données des feuilles pour chaque branche | |
Int_t ** | branch_leaf_size |
tables des tailles de type des données des feuilles pour chaque branche | |
const Param *** | branch_leaf_par |
tables des paramètres associés feuilles pour chaque branche | |
Bool_t ** | branch_leaf_cnt |
tables des indicateur de compteur pour un paramètre multihit | |
u_int | status |
mot d'état de l'arbre | |
const Filter ** | filter_ptr |
pointeur sur le filtre associé | |
Private Types | |
typedef GListIterT< TreeParam > | iterator |
Définition du type itérateur pour les listes de paramètres d'arbres. | |
Private Member Functions | |
GObject (TreeInfo) | |
Friends | |
class | TreeList |
class | FilterList |
Cette classe sert d'interface pour créer des fichiers contenant des TTree pour ROOT dans des fichiers séparés. A chaque arbre est associé un ensemble de fichiers numérotés, selon le mode choisi:
Les paramètres d'arbre (classe TreeParam) ne servent que pendant la phase de création de l'arbre. Ensuite, toutes les informations sont reportées dans les tables de la classe TreeInfo.
L'arbre créé n'a qu'une branche pour des paramètres simples. Pour des paramètres multihit (de dimension variable), une autre branche est créée automatiquement, la première branche ne contenant que le nombre de valeurs. Pour les paramètres multihit, toutes les données de l'arbre doivent avoir le même type.
TreeInfo::TreeInfo | ( | const string & | t_name, |
const EventManager * | mgr, | ||
const string & | f_name = "" , |
||
UInt_t | n_max = 10000000 |
||
) |
Constructeur. Si le nom de fichier n'est pas spécifié (chaîne vide), il est défini automatiquement à partir du nom de l'arbre et du mode de fichier.
t_name | nom de l'arbre |
mgr | pointeur sur le gestionnaire d'événement |
f_name | nom du fichier associé |
n_max | nombre maxi d'événements par fichier (mode maxEventTree) |
References branch_buffer, branch_def, branch_leaf_cnt, branch_leaf_num, branch_leaf_par, branch_leaf_ptr, branch_leaf_size, branch_name, branch_num, branch_ptr, branch_size, event_num, evt_mgr, ExportName(), file_base, file_name, file_number, file_ptr, file_sub, filter_ptr, SetTreeFile(), status, tree_file, tree_mode, and tree_ptr.
Referenced by ReadTreeInfo().
TreeInfo::TreeInfo | ( | const TreeInfo & | original | ) |
Constructeur de recopie.
original | arbre à recopier |
References AddParam(), branch_buffer, branch_def, branch_leaf_cnt, branch_leaf_num, branch_leaf_par, branch_leaf_ptr, branch_leaf_size, branch_name, branch_num, branch_ptr, branch_size, event_max, event_num, evt_mgr, file_base, file_name, file_number, file_ptr, filter_ptr, SetTreeFile(), status, tree_file, tree_mode, and tree_ptr.
|
virtual |
Destructeur. Si le fichier associé est encore ouvert, il est refermé.
References branch_buffer, branch_def, branch_leaf_cnt, branch_leaf_num, branch_leaf_off, branch_leaf_par, branch_leaf_ptr, branch_leaf_size, branch_name, branch_num, branch_ptr, branch_size, Close(), file_ptr, and filter_ptr.
|
private |
Macro from GCpp library that defines the following functions:
|
inlinevirtual |
Retourne le numéro de fichier associé à l'arbre.
References file_number.
|
virtual |
Fonction qui définit le numéro de fichier: cette fonction n'est effective que si le mode de fichier est runFileNumberTree, auquel cas elle doit être appelée après l'ouverture des fichiers d'entrée. Le fichier du TTree doit être fermé.
f_num | numéro de fichier |
f_sub | sous-numéro de fichier |
References file_number, file_ptr, file_sub, and tree_mode.
|
inlinevirtual |
Retourne le nom de base de fichier associé à l'arbre.
References file_base.
|
virtual |
Fonction qui définit le nom de base de fichier: cette fonction n'est effective que si le mode de fichier est runFileNameTree, auquel cas elle doit être appelée après l'ouverture des fichiers d'entrée. Le fichier du TTree doit être fermé.
f_base | nom de base de fichier |
|
virtual |
Fonction qui modifie le nom de fichier associé à l'arbre. La fonction retourne 0 si tout s'est bien passé, une valeur négative si le mode a été modifié (avec message d'erreur) et 1 si le fichier n'est pas fermé, auquel cas la fonction ne change pas le nom. Le mode de fichier est ajusté automatiquement:
f_name | nouveau nom de fichier |
n_max | nombre maxi d'événements par fichier (mode maxEventTree) |
References event_max, ExportName(), IsLocked(), IsOpen(), tree_file, and tree_mode.
Referenced by EventManager::SetTreeFile(), and TreeInfo().
|
inlinevirtual |
Retourne le nom générique de fichier d'arbre.
References tree_file.
Referenced by EventManager::GetTreeFile(), and GEVTreeEditor::Info().
|
inlinevirtual |
Retourne le nom courant de fichier d'arbre.
References file_name.
Referenced by EventManager::GetTreeFileName().
|
inlinevirtual |
Retourne le mode de création/fermeture des fichiers.
References tree_mode.
Referenced by EventManager::GetTreeFileMode(), and GEVTreeEditor::Info().
|
inlinevirtual |
Retourne le pointeur sur le TTree associé à l'arbre.
References tree_ptr.
Referenced by TreeList::GetTTreePtr().
|
inlinevirtual |
Retourne le nombre maxi d'événements par fichier. Si l'arbre n'est pas en mode maxEventTree, la fonction retourne 0.
References event_max.
Referenced by GEVTreeEditor::Info().
|
inlinevirtual |
Retourne le nombre de paramètre de l'événement transférés dans le TTree.
Referenced by GEVTreeEditor::Info().
|
inlinevirtual |
Retourne le nom d'un paramètre de l'événement transfére dans le TTree.
par_num | numéro du paramètre |
References GetTreeParamPtr().
|
virtual |
Ajoute un paramètre à la liste de l'arbre.
p_ptr | pointeur sur le paramètre à ajouter |
References Find(), and status.
Referenced by AddParam(), AddParamRange(), EventManager::AddTreeParam(), ReadTreeInfo(), and TreeInfo().
|
virtual |
Ajoute un paramètre à la liste de l'arbre.
p_name | nom du paramètre à ajouter |
References AddParam(), evt_mgr, and EventManager::GetParamPtr().
|
virtual |
Ajoute un paramètre à la liste de l'arbre.
p_num | numéro du paramètre à ajouter |
References AddParam(), evt_mgr, and EventManager::GetParamPtr().
|
virtual |
Ajoute un ensemble de paramètres à la liste de l'arbre. La fonction retourne de nombre de paramètres ajoutés.
p1 | numéro du premier paramètre à ajouter |
p2 | numéro du dernier paramètre à ajouter |
References AddParam(), and status.
Referenced by AddAllParam(), and EventManager::AddTreeParamRange().
|
virtual |
Ajoute tous les paramètres de l'événement à la liste de l'arbre.
References AddParamRange(), evt_mgr, and EventManager::ParamNumber().
Referenced by EventManager::AddTreeAllParam().
|
virtual |
Fonction qui initialise la structure de l'arbre: une fois initialisé, il ne peut plus être modifié. La fonction retourne 0 si tout s'est bien passé. Les buffers des branches de taille fixe sont alloués une fois pour toutes, alors que ceux des branches variables (paramètres multihit) le sont à chaque événement.
References branch_buffer, branch_def, branch_leaf_cnt, branch_leaf_num, branch_leaf_off, branch_leaf_par, branch_leaf_ptr, branch_leaf_size, branch_name, branch_num, branch_ptr, branch_size, Param::Dimension(), Param::GetDataTypeId(), PARAM_TYPE_ARRAY, PARAM_TYPE_MULTIHIT, status, and Param::TypeId().
Referenced by EventManager::InitTree(), and TreeList::Load().
|
virtual |
Fonction qui créé réellement le TTree dans le fichier ROOT. En mode runFileNumberTree, le numéro de fichier doit avoir été défini au préalable. En mode runFileNameTree, le nom de base de fichier doit avoir été défini au préalable. La fonction retourne 0 si tout s'est bien passé.
References branch_buffer, branch_def, branch_leaf_ptr, branch_name, branch_num, branch_ptr, branch_size, event_num, file_base, file_name, file_number, file_ptr, file_sub, FileDirName(), IsClosed(), status, tree_dir, tree_file, tree_mode, and tree_ptr.
Referenced by IncrementTree(), and EventManager::OpenTree().
|
virtual |
Fonction qui ferme le fichier ROOT avec le TTree.
References file_name, file_ptr, IsOpen(), tree_dir, and tree_ptr.
Referenced by EventManager::CloseTree(), IncrementTree(), and ~TreeInfo().
|
inlinevirtual |
Retourne vrai si le fichier d'arbre est ouvert.
References file_ptr.
Referenced by Close(), EventManager::IsTreeOpen(), and SetTreeFile().
|
inlinevirtual |
Retourne vrai si le fichier d'arbre est fermé.
References file_ptr.
Referenced by EventManager::IsTreeClosed(), and Open().
|
inlinevirtual |
Retourne vrai si le fichier d'arbre est verrouillé, c'est à dire si sa définition est figée.
References status.
Referenced by SetTreeFile().
|
inline |
Retourne le pointeur du paramètre d'événement correspondant au numéro de paramètre de l'arbre.
par_num | numéro de paramètre de l'arbre |
References GetTreeParamPtr().
Referenced by GEVTreeEditor::Info().
|
inline |
Retourne le pointeur du paramètre d'événement correspondant au nom de paramètre de l'arbre.
par_name | nom de paramètre de l'arbre |
References TreeParam::GetParamPtr(), and GetTreeParamPtr().
TreeParam * TreeInfo::GetTreeParamPtr | ( | const u_int | par_num | ) | const |
Retourne un pointeur du paramètre d'arbre donné par son numéro.
par_num | numéro de paramètre de l'arbre |
Referenced by GetEventParamPtr(), and GetParamName().
|
inline |
Retourne un pointeur du paramètre d'arbre donné par son nom.
par_name | nom de paramètre de l'arbre |
References Find().
TreeParam * TreeInfo::Find | ( | const string & | par_name | ) | const |
Retourne le pointeur sur le paramètre d'arbre correspondant à un paramètre de l'événement donné par son nom.
par_name | nom du paramètre de l'événement |
Referenced by AddParam(), and GetTreeParamPtr().
TreeParam * TreeInfo::Find | ( | const Int_t | par_num | ) | const |
Retourne le pointeur sur le paramètre d'arbre correspondant à un paramètre de l'événement donné par son nom.
par_num | numéro du paramètre dans l'événement |
References evt_mgr, and EventManager::GetParamPtr().
Retourne le pointeur sur le paramètre d'arbre correspondant à un paramètre de l'événement donné par son pointeur.
par_ptr | pointeur du paramètre dans l'événement |
|
inline |
Démarre l'arbre, ce qui autorise l'incrémentation.
References status.
Referenced by EventManager::StartTree().
|
inline |
Stoppe l'arbre, ce qui interdit l'incrémentation, jusqu'à ce que l'arbre soit à nouveau démarré.
References status.
Referenced by EventManager::StopTree().
|
inline |
Suspend l'arbre, ce qui interdit l'incrémentation pour un seul événement (en fait pour une tentative d'incrémentation: le bit correspondant est remis à zéro par l'incrémentation).
References status.
Referenced by EventManager::SuspendTree().
|
inline |
Retourne vrai si l'arbre est démarré (il peut cependant être suspendu).
References status.
|
inline |
Retourne vrai si l'arbre est arrêté.
References status.
|
inline |
Retourne vrai si l'arbre est suspendu.
References status.
|
inline |
Retourne vrai si l'arbre est démarré et non suspendu: l'incrémentation est donc autorisée.
References status.
Referenced by Increment(), and IncrementFast().
|
virtual |
Teste si l'arbre utilise un contour dans son filtre.
ct | pointeur sur le contour |
rec | indique si on doit chercher récursivement dans les filtres |
References filter_ptr, and Filter::UsesContour().
|
virtual |
Teste si l'arbre utilise un filtre.
f | pointeur sur le filtre |
rec | indique si on doit chercher récursivement dans les filtres |
References filter_ptr, and Filter::UsesFilter().
|
inline |
Retourne vrai si le filtre associé à l'arbre est valide.
References filter_ptr.
Referenced by Increment().
|
inlinevirtual |
Méthode générique pour l'incrémentation d'un arbre: la méthode vérifie que l'arbre est démarré et l'état des filtres.
References FilterCheck(), IncrementTree(), IsIncremented(), and status.
|
inlineprotected |
Retourne la valeur précalculée du filtre, pour l'incrémentation automatique plus rapide.
References filter_ptr.
Referenced by IncrementFast().
|
inlineprotectedvirtual |
Méthode générique pour l'incrémentation d'un arbre: la méthode vérifie que l'arbre est démarré et l'état des filtres. Cette fonction est plus rapide que Increment, car les filtres ne sont pas recalculés
References FilterFastCheck(), IncrementTree(), IsIncremented(), and status.
|
protectedvirtual |
Fonction effective pour l'incrémentation des arbres (il n'y a plus de vérification).
References branch_buffer, branch_leaf_cnt, branch_leaf_num, branch_leaf_off, branch_leaf_par, branch_leaf_size, branch_name, branch_num, branch_size, Close(), Param::Dimension(), event_max, event_num, file_ptr, Param::GetDataTypeId(), Open(), status, tree_dir, tree_mode, and tree_ptr.
Referenced by Increment(), and IncrementFast().
|
inline |
Retourne le nom du filtre associé au TTree, ou une chaîne vide.
References filter_ptr.
Referenced by GEVTreeEditor::SelectionChanged().
|
inlinevirtual |
Méthode qui retourne une chaîne décrivant le filtre d'un TTree.
References filter_ptr.
|
inlinevirtual |
Retourne le pointeur sur le filtre conditionnant l'arbre, ou NULL si l'arbre n'est pas conditionné.
References filter_ptr.
Referenced by GEVTreeEditor::Info(), and GEVTreeEditor::SelectionChanged().
|
inlinevirtual |
Applique un filtre comme condition sur un arbre.
f | pointeur sur le filtre |
Referenced by EventManager::FilterTree(), and ReadTreeInfo().
|
inlinevirtual |
Retire la condition sur un arbre.
|
virtual |
Ecriture de la structure de l'arbre dans un flux de sortie.
os | flux de sortie |
Referenced by GEVTreeEditor::SaveSelected().
|
virtual |
Ecriture de la structure de l'arbre dans un flux de sortie.
fptr | pointeur sur le fichier |
References event_max, filter_ptr, TREE_BEGIN_ID, TREE_END_ID, and tree_file.
|
static |
Fonction qui alloue un nouvel arbre à partir de la lecture dans un fichier. Le code d'erreur en sortie vaut 0 si tout s'est bien passé, prend une valeur négative s'il s'agit bien d'un arbre mais que sa définition pose problème, et une valeur positive s'il s'agit d'une autre erreur. Si on est en fin de fichier, la fonction retourne NULL avec un code d'erreur à 0.
fptr | fichier dans lequel on lit la définition |
mgr | pointeur sur le gestionnaire d'événements |
error | code d'erreur en sortie |
References AddParam(), EventManager::GetFilterListPtr(), read_string(), SetFilter(), TREE_BEGIN_ID, TREE_END_ID, and TreeInfo().
Referenced by TreeList::Load().
TreeInfo::ClassDef | ( | TreeInfo | , |
0 | |||
) |
Définition à usage de ROOT...