AliRoot Core  3dc7879 (3dc7879)
AliVEventHandler.cxx
Go to the documentation of this file.
1 /**************************************************************************
2  * Copyright(c) 1998-2007, 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  **************************************************************************/
15 
16 /* $Id$ */
17 
18 //-------------------------------------------------------------------------
19 // Event IO handler base class
20 // Author: Andreas Morsch, CERN
21 //-------------------------------------------------------------------------
22 
23 #include "AliVEventHandler.h"
24 
25 ClassImp(AliVEventHandler)
26 
27 //______________________________________________________________________________
29  TNamed()
30 {
31  // default constructor
32 }
33 
34 //______________________________________________________________________________
36 {
37 // destructor
38 }
39 
40 //______________________________________________________________________________
41 AliVEventHandler::AliVEventHandler(const char* name, const char* title):
42  TNamed(name, title)
43 {
44 }
45 //______________________________________________________________________________
47 {
48 // Security lock. This is to detect NORMAL user errors and not really to
49 // protect against intentional hacks.
50  if (IsLocked()) return;
51  TObject::SetBit(kHandlerLocked, kTRUE);
52 }
53 
54 //______________________________________________________________________________
56 {
57 // Verbose unlocking. Hackers will be punished ;-) ...
58  if (!IsLocked()) return;
59  TObject::SetBit(kHandlerLocked, kFALSE);
60 }
61 
62 //______________________________________________________________________________
64 {
65 // All critical setters pass through the Changed method that throws an exception
66 // in case the lock was set.
67  if (IsLocked()) Fatal("Changed","Critical setter of a handler called in locked mode");
68 }
69 
70 //______________________________________________________________________________
71 const char *AliVEventHandler::GetExtraOutputs(Bool_t) const
72 {
73 // Returns extra outputs. If merge is requested, returns only files to be
74 // merged. Implementation in derived classes.
75  return 0;
76 }
virtual ~AliVEventHandler()
Bool_t IsLocked() const
virtual const char * GetExtraOutputs(Bool_t merge=kFALSE) const