New calibration classes (A.Colla)
[u/mrichter/AliRoot.git] / STEER / AliObjectMetaData.cxx
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 /* $Id$ */
17
18 ///////////////////////////////////////////////////////////////////////////////
19 //                                                                           //
20 // Object meta data: full description of a run dependent database object     // 
21 //                                                                           //
22 ///////////////////////////////////////////////////////////////////////////////
23
24
25 #include <TRegexp.h>
26 #include <TObjArray.h>
27 #include <TObjString.h>
28 #include <TSystem.h>
29
30 #include "AliObjectMetaData.h"
31 #include "AliMetaData.h"
32 #include "AliLog.h"
33
34
35 ClassImp(AliObjectMetaData)
36
37
38 //_____________________________________________________________________________
39 AliObjectMetaData::AliObjectMetaData() :
40   AliMetaData(),
41   fPeriod(-1),
42   fFormat(""),
43   fResponsible("Duck, Donald"),
44   fExtraInfo("")
45 {
46 // default constructor
47 // the default values mean no selection
48 }
49
50 //_____________________________________________________________________________
51 AliObjectMetaData::AliObjectMetaData
52          (const char* name, Int_t firstRun, Int_t lastRun, Int_t period, 
53           const char* objFormat, const char* responsible, 
54           const char* extraInfo):
55   AliMetaData(name, firstRun, lastRun),
56   fPeriod(period),
57   fFormat(objFormat),
58   fResponsible(responsible),
59   fExtraInfo(extraInfo)
60 {
61 // constructor
62 }
63
64 //_____________________________________________________________________________
65 AliObjectMetaData::AliObjectMetaData(const AliObjectMetaData& entry) :
66   AliMetaData(entry),
67   fPeriod(entry.fPeriod),
68   fFormat(entry.fFormat),
69   fResponsible(entry.fResponsible),
70   fExtraInfo(entry.fExtraInfo)
71 {
72 // copy constructor
73 }
74
75 //_____________________________________________________________________________
76 AliObjectMetaData& AliObjectMetaData::operator = (const AliObjectMetaData& entry)
77 {
78 // assignment operator
79   fName = entry.fName;
80   fFirstRun = entry.fFirstRun;
81   fLastRun = entry.fLastRun;
82   fPeriod=entry.fPeriod;
83   fFormat=entry.fFormat;
84   fResponsible=entry.fResponsible;
85   fExtraInfo=entry.fExtraInfo;
86   DecodeName();
87   return *this;
88 }
89
90 //_____________________________________________________________________________
91 const int AliObjectMetaData::GetPeriod() const
92 {
93 // get the beam period
94
95   return fPeriod;
96 }
97
98 //_____________________________________________________________________________
99 const char* AliObjectMetaData::GetFormat() const
100 {
101 // get the object's format
102
103   return fFormat.Data();
104 }
105
106 //_____________________________________________________________________________
107 const char* AliObjectMetaData::GetResponsible() const
108 {
109 // get the object's responsible (the person who made it)
110
111   return fResponsible.Data();
112 }
113
114 //_____________________________________________________________________________
115 const char* AliObjectMetaData::GetExtraInfo() const
116 {
117 // get the object's extra info
118
119   return fExtraInfo.Data();
120 }
121