]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliHFEpidBase.h
Transition PWG3 --> PWGHF
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEpidBase.h
CommitLineData
809a4336 1/**************************************************************************
2* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3* *
4* Author: The ALICE Off-line Project. *
5* Contributors are mentioned in the code where appropriate. *
6* *
7* Permission to use, copy, modify and distribute this software and its *
8* documentation strictly for non-commercial purposes is hereby granted *
9* without fee, provided that the above copyright notice appears in all *
10* copies and that both the copyright notice and this permission notice *
11* appear in the supporting documentation. The authors make no claims *
12* about the suitability of this software for any purpose. It is *
13* provided "as is" without express or implied warranty. *
14**************************************************************************/
50685501 15//
16// Base Class for Detector PID Objects
17// For more information see the implementation file
18//
c2690925 19#ifndef ALIHFEPIDBASE_H
20#define ALIHFEPIDBASE_H
21
8c1c76e9 22#ifndef ROOT_TNamed
23#include <TNamed.h>
24#endif
25
26#ifndef ALIHFEPIDOBJECT_H
27#include "AliHFEpidObject.h"
28#endif
809a4336 29
30class TList;
8c1c76e9 31class AliPIDResponse;
809a4336 32class AliVParticle;
722347d8 33class AliMCParticle;
3a72645a 34class AliHFEpidQAmanager;
722347d8 35
809a4336 36class AliHFEpidBase : public TNamed{
809a4336 37 public:
faee3b18 38 AliHFEpidBase();
809a4336 39 AliHFEpidBase(const Char_t *name);
40 AliHFEpidBase(const AliHFEpidBase &c);
41 AliHFEpidBase &operator=(const AliHFEpidBase &c);
42 virtual ~AliHFEpidBase() {};
43 // Framework functions that have to be implemented by the detector PID classes
8c1c76e9 44 virtual Bool_t InitializePID(Int_t run) = 0;
6555e2ad 45 virtual Int_t IsSelected(const AliHFEpidObject *track, AliHFEpidQAmanager *pidqa = NULL) const = 0;
809a4336 46
809a4336 47 Bool_t HasMCData() const { return TestBit(kHasMCData); };
48
8c1c76e9 49 void SetPIDResponse(const AliPIDResponse * const pid) { fkPIDResponse = pid; }
809a4336 50 void SetHasMCData(Bool_t hasMCdata = kTRUE) { SetBit(kHasMCData,hasMCdata); };
809a4336 51
8c1c76e9 52 const AliPIDResponse *GetPIDResponse() const { return fkPIDResponse; };
6555e2ad 53
809a4336 54 protected:
8c1c76e9 55 const AliPIDResponse *fkPIDResponse; //! PID Response
809a4336 56 void Copy(TObject &ref) const;
3a72645a 57
809a4336 58 private:
50685501 59 enum{
3a72645a 60 kHasMCData = BIT(14)
50685501 61 };
62
3a72645a 63 ClassDef(AliHFEpidBase, 2) // Base class for detector Electron ID
809a4336 64};
809a4336 65#endif