]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliRunTag.h
New event tag classes (P.Christakoglou)
[u/mrichter/AliRoot.git] / STEER / AliRunTag.h
CommitLineData
f3a97c86 1#ifndef ALIRUNTAG_H
2#define ALIRUNTAG_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6
7/* $Id$ */
8
9//-------------------------------------------------------------------------
10// Class AliRunTag
11// This is the class to deal with the tags for the run level
12//
13// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
14//-------------------------------------------------------------------------
15
16#include <stdlib.h>
17#include <Riostream.h>
18
19#include "TObject.h"
20#include "TClonesArray.h"
21
22#include "AliEventTag.h"
23#include "AliLHCTag.h"
24#include "AliDetectorTag.h"
25
26
27//______________________________________________________________________________
28class AliRunTag : public TObject
29{
30 private:
31 Int_t fAliceRunId; //the run id
32 Float_t fAliceMagneticField; //value of the magnetic field
33 Int_t fAliceRunStartTime; //run start date
34 Int_t fAliceRunStopTime; //run stop date
35 Int_t fAliceReconstructionVersion; //reco version
36 Bool_t fAliceRunQuality; //validation script
37 Float_t fAliceBeamEnergy; //beam energy cm
38 Char_t fAliceBeamType[5]; //run type (pp, AA, pA)
39 Int_t fAliceCalibrationVersion; //calibration version
40
41 Int_t fAliceDataType; //0: simulation -- 1: data
42
43 Int_t fNumEvents; //number of events per file
44 Int_t fNumDetectors; //number of detector configs per file
45 TClonesArray *fEventTag; //array with all event tags
46 TClonesArray *fDetectorTag; //array with all the detector tags
47
48 AliLHCTag fLHCTag;
49
50 static TClonesArray *fgEvents;
51 static TClonesArray *fgDetectors;
52
53 public:
54 AliRunTag();
55 virtual ~AliRunTag();
56
57 void SetRunId(Int_t Pid) {fAliceRunId = Pid;}
58 void SetMagneticField(Float_t Pmag) {fAliceMagneticField = Pmag;}
59 void SetRunStartTime(Int_t Pt0) {fAliceRunStartTime = Pt0;}
60 void SetRunStopTime(Int_t Pt1) {fAliceRunStopTime = Pt1;}
61 void SetRecoVersion(Int_t Pn) {fAliceReconstructionVersion = Pn;}
62 void SetRunQuality(Int_t Pn) {fAliceRunQuality = Pn;}
63 void SetBeamEnergy(Float_t PE) {fAliceBeamEnergy = PE;}
64 void SetBeamType(char *Ptype) {strcpy(fAliceBeamType,Ptype);}
65 void SetCalibVersion(Int_t Pn) {fAliceCalibrationVersion = Pn;}
66
67 void SetDataType(Int_t i) {fAliceDataType = i;}
68
69 void SetNEvents(Int_t Pn) { fNumEvents = Pn; }
70
71 void SetLHCTag(Float_t Plumin, char *type);
72 void SetDetectorTag(AliDetectorTag *t);
73 void AddEventTag(AliEventTag *t);
74 void Clear(const char * opt = "");
75
76
77 Int_t GetRunId() {return fAliceRunId;}
78 Float_t GetMagneticField() {return fAliceMagneticField;}
79 Int_t GetRunStartTime() {return fAliceRunStartTime;}
80 Int_t GetRunStopTime() {return fAliceRunStopTime;}
81 Int_t GetRecoVersion() {return fAliceReconstructionVersion;}
82 Int_t GetRunQuality() {return fAliceRunQuality;}
83 Float_t GetBeamEnergy() {return fAliceBeamEnergy;}
84 char *GetBeamType() {return fAliceBeamType;}
85 Int_t GetCalibVersion() {return fAliceCalibrationVersion;}
86
87 Int_t GetDataType() {return fAliceDataType;}
88
89 Int_t GetNEvents() const {return fNumEvents;}
90
91 AliLHCTag *GetLHCTag() { return &fLHCTag; }
92
93 ClassDef(AliRunTag,1) //(ClassName, ClassVersion)
94};
95//______________________________________________________________________________
96
97#endif