ROOT logo
#ifndef ALILHCTAG_H
#define ALILHCTAG_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */


/* $Id$ */

//-------------------------------------------------------------------------
//                          Class AliLHCTag
//   This is the class to deal with the tags for the LHC level
//
//    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
//-------------------------------------------------------------------------

#include "TObject.h"
#include "TString.h"

//______________________________________________________________________________
class AliLHCTag : public TObject {
 public:
  AliLHCTag();
  AliLHCTag(const AliLHCTag &tag);
  virtual ~AliLHCTag();
  
  AliLHCTag &operator=(const AliLHCTag &tag);

  //____________________________________________________//
  //  void SetLHCTag(Float_t lumin, TString type) {fLHCLuminosity = lumin; fLHCState = type; }
  void UpdateFromRunTable(AliLHCTag &tag);

  void SetLHCState(TString type) {fLHCState = type;}
  void SetLuminosity(Float_t lumin) {fLHCLuminosity = lumin;}
  void SetNBunches(UShort_t nb) { fNBunches = nb; };
  void SetFillingScheme(TString sch) { fFillingScheme = sch; }
  void SetFillNo(Int_t fill) { fFillNo = fill; };
  void SetBeamEnergy(Float_t be) { fBeamEnergy = be; }
  void SetBunchIntensity(Float_t bi) { fBunchIntensity = bi; }
  
  
  //____________________________________________________//
  const char *GetLHCState() const {return fLHCState.Data();}
  Float_t     GetLuminosity() const {return fLHCLuminosity;}
  UShort_t    GetNBunches() const {return fNBunches; }
  TString     GetFillingScheme() const {return fFillingScheme; }
  Int_t       GetFillNo() const {return fFillNo; }
  Float_t     GetBeamEnergy() const {return fBeamEnergy; }
  Float_t     GetBunchIntensity() const {return fBunchIntensity; }

  //____________________________________________________//
 private:
  TString  fLHCState;      //LHC run conditions - comments
  Float_t  fLHCLuminosity; //the value of the luminosity
  UShort_t fNBunches;      //Number of bunches in beam
  TString  fFillingScheme; //Filling scheme name
  Int_t    fFillNo;        //Fill number
  Float_t  fBeamEnergy;    //Beam energy
  Float_t  fBunchIntensity;//Intensity per bunch

  ClassDef(AliLHCTag,2)   //(ClassName, ClassVersion)
};
//______________________________________________________________________________

#endif
 AliLHCTag.h:1
 AliLHCTag.h:2
 AliLHCTag.h:3
 AliLHCTag.h:4
 AliLHCTag.h:5
 AliLHCTag.h:6
 AliLHCTag.h:7
 AliLHCTag.h:8
 AliLHCTag.h:9
 AliLHCTag.h:10
 AliLHCTag.h:11
 AliLHCTag.h:12
 AliLHCTag.h:13
 AliLHCTag.h:14
 AliLHCTag.h:15
 AliLHCTag.h:16
 AliLHCTag.h:17
 AliLHCTag.h:18
 AliLHCTag.h:19
 AliLHCTag.h:20
 AliLHCTag.h:21
 AliLHCTag.h:22
 AliLHCTag.h:23
 AliLHCTag.h:24
 AliLHCTag.h:25
 AliLHCTag.h:26
 AliLHCTag.h:27
 AliLHCTag.h:28
 AliLHCTag.h:29
 AliLHCTag.h:30
 AliLHCTag.h:31
 AliLHCTag.h:32
 AliLHCTag.h:33
 AliLHCTag.h:34
 AliLHCTag.h:35
 AliLHCTag.h:36
 AliLHCTag.h:37
 AliLHCTag.h:38
 AliLHCTag.h:39
 AliLHCTag.h:40
 AliLHCTag.h:41
 AliLHCTag.h:42
 AliLHCTag.h:43
 AliLHCTag.h:44
 AliLHCTag.h:45
 AliLHCTag.h:46
 AliLHCTag.h:47
 AliLHCTag.h:48
 AliLHCTag.h:49
 AliLHCTag.h:50
 AliLHCTag.h:51
 AliLHCTag.h:52
 AliLHCTag.h:53
 AliLHCTag.h:54
 AliLHCTag.h:55
 AliLHCTag.h:56
 AliLHCTag.h:57
 AliLHCTag.h:58
 AliLHCTag.h:59
 AliLHCTag.h:60
 AliLHCTag.h:61
 AliLHCTag.h:62
 AliLHCTag.h:63
 AliLHCTag.h:64