]>
Commit | Line | Data |
---|---|---|
6bc03c45 | 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 | //______________________________________________________________________________ | |
28 | AliVEventHandler::AliVEventHandler() : | |
29 | TNamed() | |
30 | { | |
31 | // default constructor | |
32 | } | |
33 | ||
34 | //______________________________________________________________________________ | |
35 | AliVEventHandler::~AliVEventHandler() | |
36 | { | |
37 | // destructor | |
38 | } | |
39 | ||
40 | //______________________________________________________________________________ | |
41 | AliVEventHandler::AliVEventHandler(const char* name, const char* title): | |
42 | TNamed(name, title) | |
43 | { | |
44 | } | |
59e0dcd5 | 45 | //______________________________________________________________________________ |
46 | void AliVEventHandler::Lock() | |
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 | //______________________________________________________________________________ | |
55 | void AliVEventHandler::UnLock() | |
56 | { | |
57 | // Verbose unlocking. Hackers will be punished ;-) ... | |
58 | if (!IsLocked()) return; | |
59 | TObject::SetBit(kHandlerLocked, kFALSE); | |
60 | } | |
61 | ||
62 | //______________________________________________________________________________ | |
63 | void AliVEventHandler::Changed() | |
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 | } | |
f6eaa73b | 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 | } |