]>
Commit | Line | Data |
---|---|---|
2f4cac02 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
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 | **************************************************************************/ | |
15 | ||
16 | // $Id: AliJRunHeader.cxx,v 1.1 2008/02/04 13:28:47 rak Exp $ | |
17 | ||
18 | //////////////////////////////////////////////////// | |
19 | // | |
20 | // \file AliJRunHeader.cxx | |
21 | // \brief | |
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 $ | |
26 | // | |
27 | // Class encapsulation aliroot run header information | |
28 | //////////////////////////////////////////////////// | |
29 | #include "AliJRunHeader.h" | |
30 | ||
31 | ClassImp(AliJRunHeader) | |
32 | ||
33 | //---------------------------- | |
34 | AliJRunHeader::AliJRunHeader(): | |
35 | TNamed(), | |
36 | fRunNumber(-1), | |
37 | fL3MagnetPolarity(0), | |
38 | fMagneticFieldL3(0), | |
39 | fActiveTriggersAlice(), | |
40 | fSizeOfTableJCorran(0), | |
41 | fActiveTriggersJCorran() | |
42 | { //constructor | |
43 | ||
44 | for(Int_t i=0;i<kRangeTriggerTableAlice;i++){ | |
45 | fActiveTriggersAlice.Add(new TObjString("EMPTY")); | |
46 | fActiveTriggersJCorran.Add(new TObjString("EMPTY")); | |
47 | } | |
48 | ||
49 | fActiveTriggersAlice.SetOwner(kTRUE); | |
50 | fActiveTriggersJCorran.SetOwner(kTRUE); | |
51 | ||
52 | SetName("AliRunHeader"); | |
53 | SetTitle("AliRunHeader"); | |
54 | ||
55 | } | |
56 | //________________________________________________________________________ | |
57 | ||
58 | AliJRunHeader::AliJRunHeader(const AliJRunHeader& ap): | |
59 | TNamed(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) | |
66 | { | |
67 | //cpy ctor | |
68 | } | |
69 | //________________________________________________________________________ | |
70 | ||
71 | void AliJRunHeader::SetActiveTriggersAlice(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()); | |
75 | } | |
76 | ||
77 | fActiveTriggersAlice.SetOwner(kTRUE); | |
78 | } | |
79 | //________________________________________________________________________ | |
80 | ||
81 | void AliJRunHeader::SetActiveTriggersJCorran(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()); | |
85 | } | |
86 | fActiveTriggersJCorran.SetOwner(kTRUE); | |
87 | fSizeOfTableJCorran = range; | |
88 | } | |
89 | //________________________________________________________________________ | |
90 | ||
91 | Int_t AliJRunHeader::GetActiveTriggerBitAlice(TString TriggerName){ | |
92 | //get trigger bit corresponding to trigger name | |
93 | Int_t tbit=-1; | |
94 | for(Int_t t=0;t<kRangeTriggerTableAlice;t++){ | |
95 | if(TriggerName.Contains(((TObjString*)(fActiveTriggersAlice.At(t)))->GetString())){ | |
96 | tbit = t; | |
97 | break; | |
98 | } | |
99 | } | |
100 | return tbit; | |
101 | } | |
102 | //________________________________________________________________________ | |
103 | ||
104 | void AliJRunHeader::PrintOut(){ | |
105 | //print object | |
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; | |
110 | } | |
111 | cout<<"============================="<<endl; | |
112 | cout<<"JCorran trigger table:"<<endl; | |
113 | for(Int_t i=0;i<fSizeOfTableJCorran;i++){ | |
114 | cout<<i<<" "<<GetActiveTriggerJCorran(i)<<endl; | |
115 | } | |
116 | cout<<"============================="<<endl; | |
117 | cout<<"Magnet polarity "<<fL3MagnetPolarity<<endl; | |
118 | cout<<"B "<<fMagneticFieldL3<<endl; | |
119 | cout<<"============================="<<endl; | |
120 | ||
121 | } | |
122 | //_______________________________________________________________________ | |
123 | AliJRunHeader& AliJRunHeader::operator=(const AliJRunHeader& header){ | |
124 | //operator = | |
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; | |
133 | } | |
134 | return *this; | |
135 | } | |
136 | ||
137 |