PandaRoot
ReadMainzProto60v6.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /****************************************************
14  * ReadMainzProto60v6 class to read data files from
15  * the proto60 tests at mami
16  *
17  * author: chammann@hiskp.uni-bonn.de
18  * date: 10.5.2010
19  *
20  * *************************************************/
21 
22 #ifndef ReadMainzProto60v6_h
23 #define ReadMainzProto60v6_h
24 #include "TObject.h"
25 #include "ReadMainzProto60.h"
26 
28  public:
29  void GetEnergies(Double_t *energies); // energies has to be at least 60 long
30  void GetTimes(Double_t *times); // times has to be at least 60 long
31  void GetADCValues(Double_t *ADCs); // ADCs has to be at least 60 long
32  void GetTaggerTimes(Double_t *taggertimes); // taggertimes has to be at least 16 long
33  void GetTaggerEnergies(Double_t *taggerEnergies); // taggertimes has to be at least 16 long
34 
35  void Reset();
36 
37  void PrintEvent();
38 
39  Long_t ReadNextEvent(); // returns total number of events read, -1 if no event could be read (end of file)
40  Long_t GetNumberOfEvents();
41 
43  ReadMainzProto60v6(const char *datafilename, const char *calibrationfilename);
45 
46  private:
47  FILE *in;
48  unsigned int read_one_event();
49  Bool_t ResetToFirstEvent;
50  void convert_60(void);
51  void calibrate_60(void);
52  void read_energy_factor(const char *filename);
53  Long_t NumberOfEvents;
54 
55  double LG[60];
56  double TIME[60];
57  double TAGGER[16];
58  double TP;
59  double MU;
60  double VETO;
61  double LG_VETO[8];
62  double TIME_VETO[8];
63 
64  double LG_CAL[60];
65  double TIME_CAL[60];
66  double TAGGER_CAL[16];
67  double TP_CAL;
68  double MU_CAL;
69  double VETO_CAL;
70 
71  char starttime[30];
72  char stoptime[30];
73 
74  unsigned int rawdata[32][16];
75  unsigned int noe_of_board[16];
76  int no_of_boards, what[16], geos[16];
77  unsigned int geo_to_bnr[44];
78  char versionsstr[15];
79 
80  int central;
81 
82  double lg_factor[60];
83  double lg_ped[60];
84  double ctime_factor;
85  Bool_t IsInit;
86 
87  ClassDef(ReadMainzProto60v6, 1)
88 };
89 #endif
void GetADCValues(Double_t *ADCs)
void GetTaggerEnergies(Double_t *taggerEnergies)
void GetEnergies(Double_t *energies)
void GetTaggerTimes(Double_t *taggertimes)
Long_t GetNumberOfEvents()
Long_t ReadNextEvent()
void GetTimes(Double_t *times)