]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliLHCTag.h
Update the Tag system classes. Reduce memory footprint. Add information from RCT
[u/mrichter/AliRoot.git] / STEER / AliLHCTag.h
index 5f82f634059cd04b8a5174e4b6cd12c8857b86ad..21e0305a3c7b1c151b17f803b1ff9cc6188b1d30 100644 (file)
 //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
 //-------------------------------------------------------------------------
 
-#include <stdlib.h>
-#include <Riostream.h>
-
 #include "TObject.h"
-#include "TClonesArray.h"
+#include "TString.h"
 
 //______________________________________________________________________________
-class AliLHCTag : public TObject
-{
- private:
-  Char_t   fLHCState[50];                 //LHC run conditions - comments
-  Float_t  fLHCLuminosity;                //the value of the luminosity
-  
+class AliLHCTag : public TObject {
  public:
   AliLHCTag();
+  AliLHCTag(const AliLHCTag &tag);
   virtual ~AliLHCTag();
   
-  void          SetLHCState(char *type) {strcpy(fLHCState,type);}
-  void          SetLuminosity(Float_t lumin) {fLHCLuminosity = lumin;}
-  void          SetLHCTag(Float_t lumin, char *type) {fLHCLuminosity = lumin; strcpy(fLHCState,type); }
+  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; }
   
-  char         *GetLHCState() {return fLHCState;}
-  Float_t       GetLuminosity() {return fLHCLuminosity;}
   
-  ClassDef(AliLHCTag,1)  //(ClassName, ClassVersion)
+  //____________________________________________________//
+  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)
 };
 //______________________________________________________________________________