1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 notifce *
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 **************************************************************************/
16 // $Id: AliJRunHeader.cxx,v 1.1 2008/02/04 13:28:47 rak Exp $
18 ////////////////////////////////////////////////////
20 // \file AliJRunHeader.cxx
22 // \author J. Rak, D.J.Kim, F.Krizek(University of Jyvaskyla)
23 // \email: djkim@cc.jyu.fi
24 // \version $Revision: 1.1 $
25 // \date $Date: 2008/02/04 13:28:47 $
27 // Class encapsulation aliroot run header information
28 ////////////////////////////////////////////////////
29 #include "AliJRunHeader.h"
31 ClassImp(AliJRunHeader)
33 //----------------------------
34 AliJRunHeader::AliJRunHeader():
39 fActiveTriggersAlice(),
40 fSizeOfTableJCorran(0),
41 fActiveTriggersJCorran()
44 for(Int_t i=0;i<kRangeTriggerTableAlice;i++){
45 fActiveTriggersAlice.Add(new TObjString("EMPTY"));
46 fActiveTriggersJCorran.Add(new TObjString("EMPTY"));
49 fActiveTriggersAlice.SetOwner(kTRUE);
50 fActiveTriggersJCorran.SetOwner(kTRUE);
52 SetName("AliRunHeader");
53 SetTitle("AliRunHeader");
56 //________________________________________________________________________
58 AliJRunHeader::AliJRunHeader(const AliJRunHeader& ap):
60 fRunNumber(ap.fRunNumber),
61 fL3MagnetPolarity(ap.fL3MagnetPolarity),
62 fMagneticFieldL3(ap.fMagneticFieldL3),
63 fActiveTriggersAlice(ap.fActiveTriggersAlice),
64 fSizeOfTableJCorran(ap.fSizeOfTableJCorran),
65 fActiveTriggersJCorran(ap.fActiveTriggersJCorran)
69 //________________________________________________________________________
71 void AliJRunHeader::SetActiveTriggersAlice(const TString *triggers){
72 // fill aliroot trigger table
73 for(Int_t t=0;t<kRangeTriggerTableAlice;t++){
74 ((TObjString*) (fActiveTriggersAlice.At(t)))->SetString(triggers[t].Data());
77 fActiveTriggersAlice.SetOwner(kTRUE);
79 //________________________________________________________________________
81 void AliJRunHeader::SetActiveTriggersJCorran(const TString *triggers, Int_t range){
82 //fill jcorran trigger table
83 for(Int_t t=0;t<range;t++){
84 ((TObjString*) (fActiveTriggersJCorran.At(t)))->SetString(triggers[t].Data());
86 fActiveTriggersJCorran.SetOwner(kTRUE);
87 fSizeOfTableJCorran = range;
89 //________________________________________________________________________
91 Int_t AliJRunHeader::GetActiveTriggerBitAlice(TString TriggerName){
92 //get trigger bit corresponding to trigger name
94 for(Int_t t=0;t<kRangeTriggerTableAlice;t++){
95 if(TriggerName.Contains(((TObjString*)(fActiveTriggersAlice.At(t)))->GetString())){
102 //________________________________________________________________________
104 void AliJRunHeader::PrintOut(){
106 cout<<"RUN "<<fRunNumber<<endl;
107 cout<<"Alice trigger table:"<<endl;
108 for(Int_t i=0;i<kRangeTriggerTableAlice;i++){
109 cout<<i<<" "<<GetActiveTriggerAlice(i)<<endl;
111 cout<<"============================="<<endl;
112 cout<<"JCorran trigger table:"<<endl;
113 for(Int_t i=0;i<fSizeOfTableJCorran;i++){
114 cout<<i<<" "<<GetActiveTriggerJCorran(i)<<endl;
116 cout<<"============================="<<endl;
117 cout<<"Magnet polarity "<<fL3MagnetPolarity<<endl;
118 cout<<"B "<<fMagneticFieldL3<<endl;
119 cout<<"============================="<<endl;
122 //_______________________________________________________________________
123 AliJRunHeader& AliJRunHeader::operator=(const AliJRunHeader& header){
125 if(this != &header) {
126 TNamed::operator=(header);
127 fRunNumber = header.fRunNumber;
128 fL3MagnetPolarity = header.fL3MagnetPolarity;
129 fMagneticFieldL3 = header.fMagneticFieldL3;
130 fActiveTriggersAlice = header.fActiveTriggersAlice;
131 fSizeOfTableJCorran = header.fSizeOfTableJCorran;
132 fActiveTriggersJCorran = header.fActiveTriggersJCorran;