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 #include "AliJConst.h"
33 ClassImp(AliJRunHeader);
35 //----------------------------
36 AliJRunHeader::AliJRunHeader():
37 TNamed("AliJRunHeader", ""),
43 fActiveTriggersAlice(),
44 fSizeOfTableJCorran(0),
45 // fAliceTriggerDef(),
46 fActiveTriggersJCorran(),
51 for(Int_t i=0;i<kRangeTriggerTableAlice;i++){
52 fActiveTriggersAlice.Add(new TObjString("EMPTY"));
53 fActiveTriggersJCorran.Add(new TObjString("EMPTY"));
56 fActiveTriggersAlice.SetOwner(kTRUE);
57 fActiveTriggersJCorran.SetOwner(kTRUE);
59 SetName("AliRunHeader");
60 SetTitle("AliRunHeader");
63 //________________________________________________________________________
65 AliJRunHeader::AliJRunHeader(const AliJRunHeader& ap):
67 fRunNumber(ap.fRunNumber),
68 fRunType(ap.fRunType),
69 fESDInfo(ap.fESDInfo),
70 fL3MagnetPolarity(ap.fL3MagnetPolarity),
71 fMagneticFieldL3(ap.fMagneticFieldL3),
72 fActiveTriggersAlice(ap.fActiveTriggersAlice),
73 fSizeOfTableJCorran(ap.fSizeOfTableJCorran),
74 // fAliceTriggerDef(ap.fAliceTriggerDef),
75 fActiveTriggersJCorran(ap.fActiveTriggersJCorran),
76 fAliceTriggerDef(ap.fAliceTriggerDef),
77 fAliceFilterMapDef(ap.fAliceFilterMapDef)
81 //________________________________________________________________________
83 void AliJRunHeader::SetActiveTriggersAlice(const TString *triggers){
84 // fill aliroot trigger table
85 for(Int_t t=0;t<kRangeTriggerTableAlice;t++){
86 ((TObjString*) (fActiveTriggersAlice.At(t)))->SetString(triggers[t].Data());
89 fActiveTriggersAlice.SetOwner(kTRUE);
91 //________________________________________________________________________
93 void AliJRunHeader::SetActiveTriggersJCorran(const TString *triggers, Int_t range){
94 //fill jcorran trigger table
95 for(Int_t t=0;t<range;t++){
96 ((TObjString*) (fActiveTriggersJCorran.At(t)))->SetString(triggers[t].Data());
98 fActiveTriggersJCorran.SetOwner(kTRUE);
99 fSizeOfTableJCorran = range;
101 //________________________________________________________________________
103 Int_t AliJRunHeader::GetActiveTriggerBitAlice(TString TriggerName){
104 //get trigger bit corresponding to trigger name
106 for(Int_t t=0;t<kRangeTriggerTableAlice;t++){
107 if(TriggerName.Contains(((TObjString*)(fActiveTriggersAlice.At(t)))->GetString())){
114 //________________________________________________________________________
116 void AliJRunHeader::PrintOut(){
118 std::cout<<"RUN "<<fRunNumber<<std::endl;
119 std::cout<<"Alice trigger table:"<<std::endl;
120 for(Int_t i=0;i<kRangeTriggerTableAlice;i++){
121 std::cout<<i<<" "<<GetActiveTriggerAlice(i)<<std::endl;
123 std::cout<<"============================="<<std::endl;
124 std::cout<<"JCorran trigger table:"<<std::endl;
125 for(Int_t i=0;i<fSizeOfTableJCorran;i++){
126 std::cout<<i<<" "<<GetActiveTriggerJCorran(i)<<std::endl;
128 std::cout<<"============================="<<std::endl;
129 std::cout<<"Magnet polarity "<<fL3MagnetPolarity<<std::endl;
130 std::cout<<"B "<<fMagneticFieldL3<<std::endl;
131 std::cout<<"============================="<<std::endl;
134 //_______________________________________________________________________
135 AliJRunHeader& AliJRunHeader::operator=(const AliJRunHeader& header){
137 if(this != &header) {
138 TNamed::operator=(header);
139 fRunNumber = header.fRunNumber;
140 fRunType = header.fRunType;
141 fESDInfo = header.fESDInfo;
142 fL3MagnetPolarity = header.fL3MagnetPolarity;
143 fMagneticFieldL3 = header.fMagneticFieldL3;
144 fActiveTriggersAlice = header.fActiveTriggersAlice;
145 fSizeOfTableJCorran = header.fSizeOfTableJCorran;
146 fActiveTriggersJCorran = header.fActiveTriggersJCorran;
147 fAliceTriggerDef = header.fAliceTriggerDef;
148 fAliceFilterMapDef = header.fAliceFilterMapDef;