]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/STEERBase/AliInputEventHandler.h
Fixing clang warnings
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliInputEventHandler.h
... / ...
CommitLineData
1#ifndef ALIINPUTEVENTHANDLER_H
2#define ALIINPUTEVENTHANDLER_H
3/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//-------------------------------------------------------------------------
9// Input Handler realisation of the AliVEventHandler interface
10// Author: Andreas Morsch, CERN
11//-------------------------------------------------------------------------
12
13#include "AliVEventHandler.h"
14#include <TTree.h>
15
16
17class AliVEvent;
18class AliVCuts;
19class AliRunTag;
20class AliEventTag;
21class AliPIDResponse;
22
23class AliInputEventHandler : public AliVEventHandler {
24
25 public:
26 enum EInputHandlerFlags {
27 kUserCallSelectionMask = BIT(14), // Watch out for defining base class bits
28 kCheckStatistics = BIT(15)
29 };
30 AliInputEventHandler();
31 AliInputEventHandler(const char* name, const char* title);
32 virtual ~AliInputEventHandler();
33 virtual void SetOutputFileName(const char* /*fname*/) {;}
34 virtual const char *GetOutputFileName() {return 0;}
35 virtual Bool_t Init(Option_t* opt) {if(fMixingHandler) fMixingHandler->Init(opt);return kTRUE;}
36 virtual Bool_t Init(TTree* tree, Option_t* opt) {if(fMixingHandler) fMixingHandler->Init(tree,opt);return kTRUE;}
37 virtual Bool_t GetEntry() {if(fMixingHandler) fMixingHandler->GetEntry(); return kTRUE;}
38 virtual Bool_t BeginEvent(Long64_t entry) {if(fMixingHandler) fMixingHandler->BeginEvent(entry);return kTRUE;}
39
40 virtual Bool_t Notify() { return AliVEventHandler::Notify();}
41 virtual Bool_t Notify(const char *path) {if(fMixingHandler) fMixingHandler->Notify(path);return kTRUE;}
42 virtual Bool_t FinishEvent() {if(fMixingHandler) fMixingHandler->FinishEvent();return kTRUE;}
43 virtual Bool_t Terminate() {if(fMixingHandler) fMixingHandler->Terminate();return kTRUE;}
44 virtual Bool_t TerminateIO() {if(fMixingHandler) fMixingHandler->TerminateIO();return kTRUE;}
45
46 // Setters
47 virtual void SetInputTree(TTree* tree) {fTree = tree;}
48 virtual void SetEventSelection(AliVCuts* cuts) {fEventCuts = cuts;}
49 virtual void SetUserCallSelectionMask(Bool_t flag=kTRUE) {TObject::SetBit(kUserCallSelectionMask,flag);}
50 virtual void SetCheckStatistics(Bool_t flag=kTRUE) {TObject::SetBit(kCheckStatistics,flag);}
51 //
52 void SetInactiveBranches(const char* branches) {fBranches = branches;}
53 void SetActiveBranches (const char* branches) {fBranchesOn = branches;}
54 // Getters
55 virtual AliVEvent *GetEvent() const {return 0;}
56 virtual const AliEventTag *GetEventTag() const {return 0;}
57 virtual AliRunTag *GetRunTag() const {return 0;}
58 // Get the statistics object (currently TH2). Option can be BIN0.
59 virtual TObject *GetStatistics(Option_t *option="") const;
60 virtual Option_t *GetAnalysisType() const {return 0;}
61 virtual TTree *GetTree( ) const {return fTree;}
62 virtual AliVCuts *GetEventSelection() const {return fEventCuts;}
63 virtual Long64_t GetReadEntry() const;
64 virtual Bool_t IsCheckStatistics() const {return TObject::TestBit(kCheckStatistics);}
65 virtual Bool_t IsUserCallSelectionMask() const {return TObject::TestBit(kUserCallSelectionMask);}
66 virtual Bool_t NewEvent()
67 {Bool_t ne = fNewEvent; fNewEvent = kFALSE; return ne;}
68 virtual UInt_t IsEventSelected()
69 {return fIsSelectedResult;}
70 // Mixing
71 void SetMixingHandler(AliInputEventHandler* mixing)
72 {fMixingHandler = mixing;}
73 AliInputEventHandler* MixingHandler()
74 {return fMixingHandler;}
75 // Parent Handler
76 void SetParentHandler(AliInputEventHandler* parent) {fParentHandler = parent;}
77 AliInputEventHandler* ParentHandler() {return fParentHandler;}
78
79 //PID response
80 virtual AliPIDResponse* GetPIDResponse() {return 0x0;}
81 virtual void CreatePIDResponse(Bool_t /*isMC*/=kFALSE) {;}
82
83 protected:
84 void SwitchOffBranches() const;
85 void SwitchOnBranches() const;
86 private:
87 AliInputEventHandler(const AliInputEventHandler& handler);
88 AliInputEventHandler& operator=(const AliInputEventHandler& handler);
89 protected:
90 TTree *fTree; //! Pointer to the tree
91 TString fBranches; // List of branches to be switched off (separated by space)
92 TString fBranchesOn; // List of branches to be switched on (separated by space)
93 Bool_t fNewEvent; // New event flag
94 AliVCuts* fEventCuts; // Cuts on the event level
95 UInt_t fIsSelectedResult; // Selection result
96 AliInputEventHandler* fMixingHandler; // Optionla plugin for mixing
97 AliInputEventHandler* fParentHandler; // optional pointer to parent handlers (used in AliMultiInputEventHandler)
98 ClassDef(AliInputEventHandler, 6);
99};
100
101#endif