]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnTarget.h
Update TPCCEda to write output file in parts (to avoid too big files produced in...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnTarget.h
CommitLineData
a6bda389 1//
2// *** Class AliRsnTarget ***
3//
4// Base class used wherever it is needed to check the class type of
5// an object (daughter, mother, event) which could be used for
6// cut checking or value computing.
7// Since most of these operation are implemented into classes that
8// operate on any of such objects, then this class helps in making sure
9// that the object being processed corresponds to what is expected.
10//
11
12#ifndef ALIRSNTARGET_H
13#define ALIRSNTARGET_H
14
15#include "TNamed.h"
16
17class AliRsnTarget : public TNamed
18{
19 public:
20
21 enum ETargetType
22 {
23 kDaughter,
24 kMother,
25 kEvent,
26 kTargetTypes
27 };
28
29 AliRsnTarget() : fTargetType(kTargetTypes) { /*nothing*/ }
30 AliRsnTarget(const char *name, ETargetType type) : TNamed(name, ""), fTargetType(type) { /*nothing*/ }
31 AliRsnTarget(const AliRsnTarget& copy) : TNamed(copy), fTargetType(copy.fTargetType) { /*nothing*/ }
32 AliRsnTarget& operator=(const AliRsnTarget& copy) { TNamed::operator=(copy); fTargetType = copy.fTargetType; return (*this); }
33 virtual ~AliRsnTarget() { /*nothing*/ }
34
35 Bool_t IsTarget(ETargetType targetType) {return (fTargetType == targetType);}
36 ETargetType GetTargetType() const {return fTargetType;}
37 Char_t GetTargetTypeChar() const;
38 const char* GetTargetTypeName() const;
39 void SetTargetType(ETargetType type) {fTargetType = type;}
40 Bool_t TargetOK(TObject *object);
41
42 protected:
43
44 ETargetType fTargetType; // target type selected for this object
45
46 // ROOT dictionary
47 ClassDef(AliRsnTarget, 1)
48};
49
50typedef AliRsnTarget::ETargetType RSNTARGET;
51
52#endif