ROBAST logo
#include <stdlib.h>

#include "ACorsikaIACTRunHeader.h"

ClassImp(ACorsikaIACTRunHeader);

ACorsikaIACTRunHeader::ACorsikaIACTRunHeader(Float_t* runHeader) {
  memcpy(fRunHeader, runHeader, sizeof(Float_t) * 273);
}

//_____________________________________________________________________________
ACorsikaIACTRunHeader::~ACorsikaIACTRunHeader() {}

//_____________________________________________________________________________
TDatime ACorsikaIACTRunHeader::GetDateOfBeginRun() const {
  Int_t yymmdd = (Int_t)fRunHeader[2];
  Int_t year = yymmdd / 10000;
  Int_t month = (yymmdd - year * 10000) / 100;
  Int_t day = yymmdd - year * 10000 - month * 100;

  if (year >= 95) {
    year += 1900;
  } else {
    year += 2000;
  }

  return TDatime(year, month, day, 0, 0, 0);
}

//_____________________________________________________________________________
Float_t ACorsikaIACTRunHeader::GetHeightOfLevel(Int_t i) const {
  if (1 <= i and i <= 10) {
    return fRunHeader[4 + i];
  } else {
    return atof("NaN");
  }
}

//_____________________________________________________________________________
Float_t ACorsikaIACTRunHeader::GetC(Int_t i) const {
  if (1 <= i and i <= 50) {
    return fRunHeader[23 + i];
  } else {
    return atof("NaN");
  }
}

//_____________________________________________________________________________
Float_t ACorsikaIACTRunHeader::GetCKA(Int_t i) const {
  if (1 <= i and i <= 40) {
    return fRunHeader[93 + i];
  } else {
    return atof("NaN");
  }
}

//_____________________________________________________________________________
Float_t ACorsikaIACTRunHeader::GetCETA(Int_t i) const {
  if (1 <= i and i <= 5) {
    return fRunHeader[133 + i];
  } else {
    return atof("NaN");
  }
}

//_____________________________________________________________________________
Float_t ACorsikaIACTRunHeader::GetCSTRBA(Int_t i) const {
  if (1 <= i and i <= 11) {
    return fRunHeader[138 + i];
  } else {
    return atof("NaN");
  }
}

//_____________________________________________________________________________
Float_t ACorsikaIACTRunHeader::GetHLAY(Int_t i) const {
  if (1 <= i and i <= 5) {
    return fRunHeader[248 + i];
  } else {
    return atof("NaN");
  }
}

//_____________________________________________________________________________
Float_t ACorsikaIACTRunHeader::GetAATM(Int_t i) const {
  if (1 <= i and i <= 5) {
    return fRunHeader[253 + i];
  } else {
    return atof("NaN");
  }
}

//_____________________________________________________________________________
Float_t ACorsikaIACTRunHeader::GetBATM(Int_t i) const {
  if (1 <= i and i <= 5) {
    return fRunHeader[258 + i];
  } else {
    return atof("NaN");
  }
}

//_____________________________________________________________________________
Float_t ACorsikaIACTRunHeader::GetCATM(Int_t i) const {
  if (1 <= i and i <= 5) {
    return fRunHeader[263 + i];
  } else {
    return atof("NaN");
  }
}
 ACorsikaIACTRunHeader.cxx:1
 ACorsikaIACTRunHeader.cxx:2
 ACorsikaIACTRunHeader.cxx:3
 ACorsikaIACTRunHeader.cxx:4
 ACorsikaIACTRunHeader.cxx:5
 ACorsikaIACTRunHeader.cxx:6
 ACorsikaIACTRunHeader.cxx:7
 ACorsikaIACTRunHeader.cxx:8
 ACorsikaIACTRunHeader.cxx:9
 ACorsikaIACTRunHeader.cxx:10
 ACorsikaIACTRunHeader.cxx:11
 ACorsikaIACTRunHeader.cxx:12
 ACorsikaIACTRunHeader.cxx:13
 ACorsikaIACTRunHeader.cxx:14
 ACorsikaIACTRunHeader.cxx:15
 ACorsikaIACTRunHeader.cxx:16
 ACorsikaIACTRunHeader.cxx:17
 ACorsikaIACTRunHeader.cxx:18
 ACorsikaIACTRunHeader.cxx:19
 ACorsikaIACTRunHeader.cxx:20
 ACorsikaIACTRunHeader.cxx:21
 ACorsikaIACTRunHeader.cxx:22
 ACorsikaIACTRunHeader.cxx:23
 ACorsikaIACTRunHeader.cxx:24
 ACorsikaIACTRunHeader.cxx:25
 ACorsikaIACTRunHeader.cxx:26
 ACorsikaIACTRunHeader.cxx:27
 ACorsikaIACTRunHeader.cxx:28
 ACorsikaIACTRunHeader.cxx:29
 ACorsikaIACTRunHeader.cxx:30
 ACorsikaIACTRunHeader.cxx:31
 ACorsikaIACTRunHeader.cxx:32
 ACorsikaIACTRunHeader.cxx:33
 ACorsikaIACTRunHeader.cxx:34
 ACorsikaIACTRunHeader.cxx:35
 ACorsikaIACTRunHeader.cxx:36
 ACorsikaIACTRunHeader.cxx:37
 ACorsikaIACTRunHeader.cxx:38
 ACorsikaIACTRunHeader.cxx:39
 ACorsikaIACTRunHeader.cxx:40
 ACorsikaIACTRunHeader.cxx:41
 ACorsikaIACTRunHeader.cxx:42
 ACorsikaIACTRunHeader.cxx:43
 ACorsikaIACTRunHeader.cxx:44
 ACorsikaIACTRunHeader.cxx:45
 ACorsikaIACTRunHeader.cxx:46
 ACorsikaIACTRunHeader.cxx:47
 ACorsikaIACTRunHeader.cxx:48
 ACorsikaIACTRunHeader.cxx:49
 ACorsikaIACTRunHeader.cxx:50
 ACorsikaIACTRunHeader.cxx:51
 ACorsikaIACTRunHeader.cxx:52
 ACorsikaIACTRunHeader.cxx:53
 ACorsikaIACTRunHeader.cxx:54
 ACorsikaIACTRunHeader.cxx:55
 ACorsikaIACTRunHeader.cxx:56
 ACorsikaIACTRunHeader.cxx:57
 ACorsikaIACTRunHeader.cxx:58
 ACorsikaIACTRunHeader.cxx:59
 ACorsikaIACTRunHeader.cxx:60
 ACorsikaIACTRunHeader.cxx:61
 ACorsikaIACTRunHeader.cxx:62
 ACorsikaIACTRunHeader.cxx:63
 ACorsikaIACTRunHeader.cxx:64
 ACorsikaIACTRunHeader.cxx:65
 ACorsikaIACTRunHeader.cxx:66
 ACorsikaIACTRunHeader.cxx:67
 ACorsikaIACTRunHeader.cxx:68
 ACorsikaIACTRunHeader.cxx:69
 ACorsikaIACTRunHeader.cxx:70
 ACorsikaIACTRunHeader.cxx:71
 ACorsikaIACTRunHeader.cxx:72
 ACorsikaIACTRunHeader.cxx:73
 ACorsikaIACTRunHeader.cxx:74
 ACorsikaIACTRunHeader.cxx:75
 ACorsikaIACTRunHeader.cxx:76
 ACorsikaIACTRunHeader.cxx:77
 ACorsikaIACTRunHeader.cxx:78
 ACorsikaIACTRunHeader.cxx:79
 ACorsikaIACTRunHeader.cxx:80
 ACorsikaIACTRunHeader.cxx:81
 ACorsikaIACTRunHeader.cxx:82
 ACorsikaIACTRunHeader.cxx:83
 ACorsikaIACTRunHeader.cxx:84
 ACorsikaIACTRunHeader.cxx:85
 ACorsikaIACTRunHeader.cxx:86
 ACorsikaIACTRunHeader.cxx:87
 ACorsikaIACTRunHeader.cxx:88
 ACorsikaIACTRunHeader.cxx:89
 ACorsikaIACTRunHeader.cxx:90
 ACorsikaIACTRunHeader.cxx:91
 ACorsikaIACTRunHeader.cxx:92
 ACorsikaIACTRunHeader.cxx:93
 ACorsikaIACTRunHeader.cxx:94
 ACorsikaIACTRunHeader.cxx:95
 ACorsikaIACTRunHeader.cxx:96
 ACorsikaIACTRunHeader.cxx:97
 ACorsikaIACTRunHeader.cxx:98
 ACorsikaIACTRunHeader.cxx:99
 ACorsikaIACTRunHeader.cxx:100
 ACorsikaIACTRunHeader.cxx:101
 ACorsikaIACTRunHeader.cxx:102
 ACorsikaIACTRunHeader.cxx:103
 ACorsikaIACTRunHeader.cxx:104
 ACorsikaIACTRunHeader.cxx:105
 ACorsikaIACTRunHeader.cxx:106
 ACorsikaIACTRunHeader.cxx:107
 ACorsikaIACTRunHeader.cxx:108
 ACorsikaIACTRunHeader.cxx:109