33 #define TREE_BEGIN_ID "<TREE_BEGIN>"
34 #define TREE_END_ID "<TREE_END>"
42 treeSuspended = 0x00000001,
43 treeStopped = 0x00000002,
44 treeLocked = 0x00000010
51 runFileNumberTree = 1,
95 class TreeInfo :
public GNamed,
protected GListT<TreeParam>
159 TreeInfo (
const string &t_name,
const EventManager *mgr,
const string &f_name =
"", UInt_t n_max = 10000000 );
172 virtual void SetFileNumber (
const Int_t f_num, Int_t f_sub = 0 );
177 virtual Int_t
SetTreeFile (
const string &f_name,
const UInt_t n_max );
186 virtual string GetParamName (
const UInt_t par_num )
const;
189 virtual Bool_t
AddParam (
const string & p_name );
190 virtual Bool_t
AddParam (
const Int_t p_num );
191 virtual Int_t
AddParamRange (
const Int_t p1,
const Int_t p2 );
194 virtual Int_t
Init ( );
195 virtual Int_t
Open ( );
196 virtual Int_t
Close ( );
198 virtual Bool_t
IsOpen ( );
231 virtual bool UsesContour (
const RContour *ct,
const bool rec =
true )
const;
267 virtual bool Write ( ostream & os )
const;
268 virtual bool Write ( FILE * fptr )
const;
290 {
return (GetSize()); }
296 {
return ( (par_num < GetSize()) ?
GetTreeParamPtr(par_num)->GetParamPtr()->GetName() :
"" ); }
337 {
return ((GetSize() > par_num) ?
GetTreeParamPtr(par_num)->GetParamPtr() : NULL); }
353 {
return (
Find(par_name)); }
359 {
return ( (
file_ptr != NULL) ? kTRUE : kFALSE ); }
363 {
return ( (
file_ptr == NULL) ? kTRUE : kFALSE ); }
369 {
return ( (
status & treeLocked) != 0 ); }
393 {
return ( ((
status & treeStopped) == 0) ?
true :
false ); }
399 {
return ( ((
status & (treeStopped | treeSuspended)) == 0) ?
true :
false ); }
403 {
return ( ((
status & treeStopped) != 0) ?
true :
false ); }
407 {
return ( ((
status & treeSuspended) != 0) ?
true :
false ); }
413 {
return ( (*
filter_ptr) == NULL ?
"" : (*filter_ptr)->GetName() ); }
417 {
return ( (*
filter_ptr == NULL) ?
"" :
" Filter = "
418 + (*filter_ptr)->GetName() +
" ["
419 + (*filter_ptr)->TypeName() +
"]" ); }
429 return ((*filter_ptr)->Ok());
440 return ((*filter_ptr)->GetInternalValue());
477 { (*filter_ptr) = f; }
481 { (*filter_ptr) = NULL; }
virtual Bool_t IsClosed()
Definition: TreeInfo.hh:362
virtual Int_t AddParamRange(const Int_t p1, const Int_t p2)
Definition: TreeInfo.cpp:328
Int_t ** branch_leaf_off
tables des positions des données des feuilles pour chaque branche
Definition: TreeInfo.hh:139
virtual Int_t SetTreeFile(const string &f_name, const UInt_t n_max)
Definition: TreeInfo.cpp:170
Int_t * branch_size
table des tailles des branches (0 pour une branche variable)
Definition: TreeInfo.hh:134
TBranch ** branch_ptr
table des pointeurs des branches
Definition: TreeInfo.hh:135
virtual Bool_t AddParam(const Param *p_ptr)
Definition: TreeInfo.cpp:288
const EventManager * evt_mgr
pointeur sur le gestionnaire d'événement
Definition: TreeInfo.hh:110
Definition: TreeParam.hh:29
Bool_t ** branch_leaf_cnt
tables des indicateur de compteur pour un paramètre multihit
Definition: TreeInfo.hh:142
virtual bool Write(ostream &os) const
Definition: TreeInfo.cpp:1052
virtual string GetTreeFile() const
Definition: TreeInfo.hh:308
virtual ~TreeInfo()
Definition: TreeInfo.cpp:116
virtual Bool_t IsLocked()
Definition: TreeInfo.hh:368
void Start()
Definition: TreeInfo.hh:374
RString tree_file
nom du fichier de sortie du TTree
Definition: TreeInfo.hh:113
TTree * tree_ptr
pointeur sur le TTree de ROOT
Definition: TreeInfo.hh:117
bool FilterCheck() const
Definition: TreeInfo.hh:424
u_int status
mot d'état de l'arbre
Definition: TreeInfo.hh:146
UInt_t event_max
nombre maxi d'événements
Definition: TreeInfo.hh:126
virtual void SetFilter(const Filter *f)
Definition: TreeInfo.hh:476
virtual string GetFileBase() const
Definition: TreeInfo.hh:304
Definition: TreeInfo.hh:95
Int_t file_number
numéro de fichier associé
Definition: TreeInfo.hh:121
virtual UInt_t GetMaxEvent() const
Definition: TreeInfo.hh:322
Definition: TreeList.hh:26
virtual void IncrementFast()
Definition: TreeInfo.hh:459
TreeStatus
Bits d'état des arbres.
Definition: TreeInfo.hh:38
Int_t ** branch_leaf_size
tables des tailles de type des données des feuilles pour chaque branche
Definition: TreeInfo.hh:140
virtual Int_t Close()
Definition: TreeInfo.cpp:822
bool IsSuspended() const
Definition: TreeInfo.hh:406
static TreeInfo * ReadTreeInfo(FILE *fptr, const EventManager *mgr, int &error)
Definition: TreeInfo.cpp:1103
UInt_t branch_num
nombre de branches
Definition: TreeInfo.hh:131
char ** branch_buffer
table des buffers de données par branche
Definition: TreeInfo.hh:136
TreeParam * GetTreeParamPtr(const u_int par_num) const
Definition: TreeInfo.cpp:247
const Filter ** filter_ptr
pointeur sur le filtre associé
Definition: TreeInfo.hh:149
virtual const Param * GetParamPtr() const
Definition: TreeParam.hh:92
UInt_t event_num
nombre d'événements déjà placés
Definition: TreeInfo.hh:127
void Suspend()
Definition: TreeInfo.hh:387
Int_t * branch_leaf_num
table des nombres de feuilles par branche
Definition: TreeInfo.hh:137
virtual string FilterInfo() const
Definition: TreeInfo.hh:416
virtual void ResetFilter()
Definition: TreeInfo.hh:480
TreeParam * Find(const string &par_name) const
Definition: TreeInfo.cpp:354
virtual void IncrementTree()
Definition: TreeInfo.cpp:893
const Param * GetEventParamPtr(const u_int par_num) const
Definition: TreeInfo.hh:336
string * branch_name
table des noms des branches
Definition: TreeInfo.hh:132
bool FilterFastCheck() const
Definition: TreeInfo.hh:435
Definition: FilterList.hh:37
TLeaf *** branch_leaf_ptr
tables des pointeurs des feuilles pour chaque branche
Definition: TreeInfo.hh:138
virtual const Filter * GetFilterPtr() const
Definition: TreeInfo.hh:470
virtual Bool_t IsOpen()
Definition: TreeInfo.hh:358
string file_name
nom effectif du fichier en cours
Definition: TreeInfo.hh:114
virtual string GetParamName(const UInt_t par_num) const
Definition: TreeInfo.hh:295
virtual void SetFileBase(const string &f_base)
Definition: TreeInfo.cpp:449
Int_t file_sub
numéro de fichier associé
Definition: TreeInfo.hh:122
TreeInfo(const string &t_name, const EventManager *mgr, const string &f_name="", UInt_t n_max=10000000)
Definition: TreeInfo.cpp:25
virtual Int_t AddAllParam()
Definition: TreeInfo.cpp:318
virtual void Increment()
Definition: TreeInfo.hh:446
UInt_t tree_mode
mode de création des fichiers
Definition: TreeInfo.hh:125
bool IsIncremented() const
Definition: TreeInfo.hh:398
const Param *** branch_leaf_par
tables des paramètres associés feuilles pour chaque branche
Definition: TreeInfo.hh:141
virtual bool UsesContour(const RContour *ct, const bool rec=true) const
Definition: TreeInfo.cpp:860
virtual TTree * GetTTreePtr() const
Definition: TreeInfo.hh:316
virtual UInt_t GetParamNumber() const
Definition: TreeInfo.hh:289
void Stop()
Definition: TreeInfo.hh:380
string tree_dir
répertoire du TTree dans l'arborescence ROOT
Definition: TreeInfo.hh:116
virtual Int_t GetFileNumber() const
Definition: TreeInfo.hh:300
TreeMode
Modes de renouvellement des fichiers d'arbres.
Definition: TreeInfo.hh:48
virtual Int_t Init()
Definition: TreeInfo.cpp:470
bool IsStopped() const
Definition: TreeInfo.hh:402
string GetFilterName() const
Definition: TreeInfo.hh:412
TFile * file_ptr
pointeur sur le fichier ROOT associé
Definition: TreeInfo.hh:118
virtual string GetFileName() const
Definition: TreeInfo.hh:312
virtual Int_t Open()
Definition: TreeInfo.cpp:702
string file_base
nom de base de fichier associé
Definition: TreeInfo.hh:123
bool IsStarted() const
Definition: TreeInfo.hh:392
virtual bool UsesFilter(const Filter *f, const bool rec=true) const
Definition: TreeInfo.cpp:877
string * branch_def
table des définitions des branches
Definition: TreeInfo.hh:133
virtual void SetFileNumber(const Int_t f_num, Int_t f_sub=0)
Definition: TreeInfo.cpp:428
virtual UInt_t GetFileMode() const
Definition: TreeInfo.hh:326
Definition: EventManager.hh:59
GListIterT< TreeParam > iterator
Définition du type itérateur pour les listes de paramètres d'arbres.
Definition: TreeInfo.hh:106