1 #ifndef ALIRSNLOOPDAUGHTER_H
2 #define ALIRSNLOOPDAUGHTER_H
5 // Class for computations on single daughters
8 #include "AliRsnDaughter.h"
9 #include "AliRsnLoop.h"
11 class AliRsnDaughterDef;
13 class AliRsnLoopDaughter : public AliRsnLoop {
16 AliRsnLoopDaughter(const char *name = "default", Int_t listID = 0, AliRsnDaughterDef *def = 0);
17 AliRsnLoopDaughter(const AliRsnLoopDaughter ©);
18 AliRsnLoopDaughter& operator=(const AliRsnLoopDaughter&);
19 ~AliRsnLoopDaughter();
21 Int_t GetListID() {return fListID;}
22 AliRsnDaughterDef* GetDef() {return fDef;}
23 AliRsnDaughter* GetDaughter() {return &fDaughter;}
25 void SetOnlyTrue(Bool_t yn = kTRUE) {fOnlyTrue = yn;}
26 void SetListID(Int_t i) {fListID = i;}
27 void SetDef(AliRsnDaughterDef *def) {fDef = def;}
29 virtual void Print(Option_t *opt = "") const;
30 virtual Bool_t Init(const char *prefix, TList *list);
31 virtual Int_t DoLoop(AliRsnEvent *main, AliRsnDaughterSelector *smain, AliRsnEvent *mix = 0, AliRsnDaughterSelector *smix = 0);
35 Bool_t fOnlyTrue; // for selecting only true particles
36 Int_t fListID; // index of entry list to use
37 AliRsnDaughterDef *fDef; // definition for selection
38 AliRsnDaughter fDaughter; //! daughter temporary member
42 ClassDef(AliRsnLoopDaughter, 3)