HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HarpoRunHeader.cxx
Go to the documentation of this file.
1 //
2 // File HarpoRunHeader.cxx
3 //
11 #include "HarpoRunHeader.h"
12 #include "HarpoDetSet.h"
13 #include <cstdlib>
14 #include <cstdio>
15 #include <iostream>
16 #include <time.h>
17 
18 ClassImp(HarpoRunHeader)
19 
21 {
22  ULong_t ndet;
23  // std::cout << "--- HarpoRunHeader constractor" << std::endl;
24  // fHeaders = new HarpoDetHeader *[gkNDetectors]; //Pointers to Det Headers
25  for(ndet=0;ndet<gkNDetectors;ndet++) fHeaders[ndet] = NULL;
26 
27  fRun = -1;
28  fNDet = 0;
29  fSimData = false;
30 
31  fAngle = -1000;
32  fLaser = -1;
33  fTrigger = -1;
34  fIlaser = -1;
35  fEbeam = -1;
36  fEgamma = -1;
37  fPola = -1;
38  fRunConfig = NULL;
39 
40 }
41 
43 {
44  ULong_t ndet;
45  // std::cout << "--- HarpoRunHeader constractor" << std::endl;
46  //fHeaders = new HarpoDetHeader *[gkNDetectors]; //Pointers to Det Headers
47  for(ndet=0;ndet<gkNDetectors;ndet++) fHeaders[ndet] = NULL;
48 
49  fRun = -1;
50  fNDet = 0;
51  fSimData = false;
52 
53  fAngle = -1000;
54  fLaser = -1;
55  fTrigger = -1;
56  fIlaser = -1;
57  fEbeam = -1;
58  fEgamma = -1;
59  fPola = -1;
60 
61  fRun = cfg->GetRunNo();
62  Info("Constructor","fRun = %d",fRun);
63  // Long64_t run;
64  // if ( cfg->Lookup("Header.run",run) )
65  // //fRun = run;
66  // else
67  // // Info("Constructor","Use default run no %i",fRun);
68 
69  Long64_t laser;
70  if ( cfg->Lookup("Header.laser",laser) )
71  fLaser = laser;
72  else
73  Info("Constructor","Use default laser %i",fLaser);
74 
75  Double_t ilaser;
76  if ( cfg->Lookup("Header.ilaser",ilaser) )
77  fIlaser = ilaser;
78  //else
79  // Info("Constructor","Use default ilaser %g",fIlaser);
80 
81  Long64_t angle;
82  if ( cfg->Lookup("Header.angle",angle) )
83  fAngle = angle;
84  // else
85  // Info("Constructor","Use default angle %i",fAngle);
86 
87  Long64_t trigger;
88  if ( cfg->Lookup("Header.trigger",trigger) )
89  fTrigger = trigger;
90  // else
91  // Info("Constructor","Use default trigger %i",fTrigger);
92 
93  Double_t ebeam;
94  if ( cfg->Lookup("Header.ebeam",ebeam) )
95  fEbeam = ebeam;
96  // else
97  // Info("Constructor","Use default ebeam %g",fEbeam);
98 
99  Double_t egamma;
100  if ( cfg->Lookup("Header.egamma",egamma) )
101  fEgamma = egamma;
102  // else
103  // Info("Constructor","Use default egamma %g",fEgamma);
104 
105  Long64_t pola;
106  if ( cfg->Lookup("Header.pola",pola) )
107  fPola = pola;
108  // else
109  // Info("Constructor","Use default pola %i",fPola);
110 
111  fRunConfig = NULL;
112 
113 }
114 
115 
117 {
118  unsigned long ndet;
119  //std::cout << "--- HarpoRunHeader distractor " << std::endl;
120  for(ndet=0;ndet<gkNDetectors;ndet++) {
121  if( fHeaders[ndet] != NULL ) {
122  delete fHeaders[ndet];
123  }
124  }
125  if (fRunConfig != NULL ) delete fRunConfig;
126  //delete [] fHeaders;
127 }
128 
130 {
131  std::cout << "--- HarpoRunHeader Set "<< ndet << " " << hdr << std::endl;
132  if (/* ndet < 0 ||*/ ndet >= gkNDetectors ) return;
133  fHeaders[ndet] = hdr;
134 }
135 
137 {
138  //std::cout << "--- HarpoRunHeader Get "<< ndet << std::endl;
139  if (/* ndet < 0 || */ ndet >= gkNDetectors ) return NULL;
140  return fHeaders[ndet];
141 }
142 
143 
145 {
146  unsigned long ndet;
147 
148  std::cout << "--- HarpoRunHeader" << std::endl;
149  std::cout << "== DB info for Run " << fRun << std::endl
150  << "SimRun " << std::boolalpha
151  << fSimData << std::noboolalpha << std::endl;
152 
153  std::cout << "Angle " << fAngle << std::endl
154  << "Laser " << fLaser << std::endl
155  << "Trigger " << fTrigger << std::endl
156  << "Ilaser " << fIlaser << std::endl
157  << "Ebeam " << fEbeam << std::endl
158  << "Egamma " << fEgamma << std::endl
159  << "Pola " << fPola << std::endl;
160 
161  for(ndet=0;ndet<gkNDetectors;ndet++) {
162  if ( gHDetSet->isExist(ndet) ) {
163  if (fHeaders[ndet] != NULL ) {
164  //std::cout << "--- HarpoDetHeader No "<< ndet << std::endl;
165  (fHeaders[ndet])->print();
166  } else {
167  std::cout << "--- HarpoDetHeader == NULL No "<< ndet << std::endl;
168  }
169  }
170  }
171  }
172 
A class hold HARPO run iformation.
HarpoRunConfig * fRunConfig
Long64_t GetRunNo()
Set Run Number.
Definition: HarpoConfig.h:127
HarpoDetHeader * GetHeader(UInt_t ndet=XDCC)
Bool_t isExist(ULong_t det)
Detecror date exist //! Number of Real Detectors.
Definition: HarpoDetSet.h:33
A class hold HARPO run iformation.
virtual ~HarpoRunHeader()
HarpoDetHeader * fHeaders[gkNDetectors]
Int_t fRun
Raw Header list.
Bool_t Lookup(const char *path, Bool_t &val)
Lookup function for scalar values.
const ULong_t gkNDetectors
Definition: HarpoDet.h:14
void SetDetHeader(HarpoDetHeader *hdr, UInt_t ndet=XDCC)
A class which keeps track of the entire configuration of the analysis.
Definition: HarpoConfig.h:50
R__EXTERN HarpoDetSet * gHDetSet
Definition: HarpoDetSet.h:71