]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliCDBRunRange.cxx
Coverity fixes.
[u/mrichter/AliRoot.git] / STEER / AliCDBRunRange.cxx
CommitLineData
9e1ceb13 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 **************************************************************************/
15
16/////////////////////////////////////////////////////////////////////
17// //
18// class AliCDBRunRange //
19// defines the run validity range of the object: //
20// [fFirstRun, fLastRun] //
21// //
22/////////////////////////////////////////////////////////////////////
23
24#include "AliCDBRunRange.h"
25
26#include "AliLog.h"
27
28ClassImp(AliCDBRunRange)
29
30//___________________________________________________________________________
31AliCDBRunRange::AliCDBRunRange():
32fFirstRun(-1),
33fLastRun(-1)
34{
35// constructor
36
37}
38
39//___________________________________________________________________________
40AliCDBRunRange::AliCDBRunRange(Int_t firstRun, Int_t lastRun):
41fFirstRun(firstRun),
42fLastRun(lastRun)
43{
44// constructor
45
46}
47
48//___________________________________________________________________________
49AliCDBRunRange::~AliCDBRunRange() {
50// destructor
51
52}
53
54//___________________________________________________________________________
55Bool_t AliCDBRunRange::Overlaps(const AliCDBRunRange& other) const {
56// check if this runRange overlaps other runRange
57
58 if (!(IsValid() && other.IsValid())) {
59 AliError("Comparing invalid run ranges!");
60 return kFALSE;
61 }
62
63 if (IsAnyRange() || other.IsAnyRange()) {
64 AliError("Comparing unspecified ranges!");
65 return kFALSE;
66 }
67
b6fd9dd7 68 return ((fFirstRun < other.fFirstRun && other.fFirstRun <= fLastRun)
69 || (other.fFirstRun <= fFirstRun && fFirstRun <= other.fLastRun));
9e1ceb13 70}
71
72//___________________________________________________________________________
73Bool_t AliCDBRunRange::Comprises(const AliCDBRunRange& other) const {
74// check if this runRange contains other runRange
75
76 if (!(IsValid() && other.IsValid())) {
77 AliError("Comparing invalid run ranges!");
78 return kFALSE;
79 }
80
81 if (IsAnyRange()) {
82 return kTRUE;
83 }
84
85 return fFirstRun <= other.fFirstRun && other.fFirstRun <= fLastRun
86 && fFirstRun <= other.fLastRun && other.fLastRun <= fLastRun;
87}
88
89//___________________________________________________________________________
90Bool_t AliCDBRunRange::IsEqual(const TObject* obj) const {
91// check if this runRange is equal to other runRange
92
93 if (this == obj) {
94 return kTRUE;
95 }
96
97 if (AliCDBRunRange::Class() != obj->IsA()) {
98 return kFALSE;
99 }
100 AliCDBRunRange* other = (AliCDBRunRange*) obj;
101 return fFirstRun == other->fFirstRun && fLastRun == other->fLastRun;
102}
103
104//___________________________________________________________________________
105Bool_t AliCDBRunRange::IsValid() const {
106// validity check
107
108 if (fFirstRun < 0 && fLastRun < 0) {
109 return kTRUE;
110 }
111
112 if (fFirstRun >= 0 && fLastRun >= fFirstRun) {
113 return kTRUE;
114 }
115
116 return kFALSE;
117}
118
119