2 // *** Class AliRsnMonitor ***
6 // authors: A. Pulvirenti (email: alberto.pulvirenti@ct.infn.it)
7 // M. Vala (email: martin.vala@cern.ch)
10 #ifndef ALIRSNMonitor_H
11 #define ALIRSNMonitor_H
15 #include "AliRsnDaughter.h"
16 #include "AliRsnDaughterDef.h"
17 #include "AliRsnCutSet.h"
19 class AliRsnMonitor : public TNamed {
22 AliRsnMonitor(const char *name = "default", AliRsnDaughterDef *def = 0);
23 AliRsnMonitor(const AliRsnMonitor ©);
24 AliRsnMonitor& operator=(const AliRsnMonitor&);
28 Bool_t IsOnlyTrue() const {return fOnlyTrue;}
29 Int_t GetCount() const {return fCount;}
30 AliRsnDaughterDef* GetDaughterDef() {return fDaughterDef;}
31 AliRsnCutSet* GetCuts() {return &fCuts;}
32 AliRsnDaughter* GetDaughter() {return fDaughter;}
34 // setters (not for all members)
35 void SetOnlyTrue(Bool_t onlyTrue = kTRUE) {fOnlyTrue = onlyTrue;}
36 void SetCount(Int_t count) {fCount = count;}
37 void ResetCount() {fCount = 0;}
40 Bool_t Fill(AliRsnDaughter *d);
41 virtual void Print(Option_t *option = "") const;
42 virtual void Compute();
43 virtual void Init(const char *prefix, TList *list);
47 Bool_t fOnlyTrue; // select true Monitors only?
48 Int_t fCount; // counter incremented for each added Monitor
50 AliRsnDaughterDef *fDaughterDef; // Monitor definition (particles, charges)
51 AliRsnCutSet fCuts; // collection of all cuts
52 AliRsnDaughter *fDaughter; //! pointer to daughter
56 ClassDef(AliRsnMonitor, 2)