1 | /////////////////////////////////////////////////////////////////
|
---|
2 | //
|
---|
3 | // CORStatfile
|
---|
4 | //
|
---|
5 | // Created: Tue Apr 28 16:14:05 1998
|
---|
6 | // Author: Jose Carlos Gonzales
|
---|
7 | // Purpose: Base class for Statfiles
|
---|
8 | // Notes:
|
---|
9 | //
|
---|
10 | /////////////////////////////////////////////////////////////////
|
---|
11 |
|
---|
12 | // @T \newpage
|
---|
13 |
|
---|
14 | // @section Source code of {\tt CORStatfile.hxx}
|
---|
15 |
|
---|
16 | /* @text
|
---|
17 | This section shows the include file {\tt CORStatfile.hxx}
|
---|
18 | @endtext */
|
---|
19 |
|
---|
20 | #ifndef CORStatfile_Class
|
---|
21 | #define CORStatfile_Class
|
---|
22 |
|
---|
23 | // @subsection Include files
|
---|
24 |
|
---|
25 | // @code
|
---|
26 | #include "TROOT.h"
|
---|
27 | #include "TObject.h"
|
---|
28 |
|
---|
29 | #include <iostream>
|
---|
30 | #include <fstream>
|
---|
31 | #include <stdlib.h>
|
---|
32 | #include <math.h>
|
---|
33 |
|
---|
34 | #define MAXBUF 273 /* 39*7 */
|
---|
35 | #define NSUBBL 21
|
---|
36 | #define NPLONG 1041
|
---|
37 | // @endcode
|
---|
38 |
|
---|
39 | using namespace std;
|
---|
40 |
|
---|
41 | // @subsection Class {\em CORStatfile}: Definition
|
---|
42 |
|
---|
43 | // @code
|
---|
44 | class CORStatfile {
|
---|
45 |
|
---|
46 | public:
|
---|
47 | Int_t steps; // steps in the longitudinal distribution
|
---|
48 | Float_t *evth; // event header
|
---|
49 | Float_t *evte; // event end
|
---|
50 | Int_t *nproto; // number of protons
|
---|
51 | Int_t *nprotb; // number of anti-protons
|
---|
52 | Int_t *nneutr; // number of neutrons
|
---|
53 | Int_t *nneutb; // number of
|
---|
54 | Int_t *nphoto; // number of
|
---|
55 | Int_t *nelect; // number of
|
---|
56 | Int_t *nposit; // number of
|
---|
57 | Int_t *nnu; // number of
|
---|
58 | Int_t *nmum; // number of
|
---|
59 | Int_t *nmup; // number of
|
---|
60 | Int_t *npi0; // number of
|
---|
61 | Int_t *npim; // number of
|
---|
62 | Int_t *npip; // number of
|
---|
63 | Int_t *nk0l; // number of
|
---|
64 | Int_t *nk0s; // number of
|
---|
65 | Int_t *nkmi; // number of
|
---|
66 | Int_t *nkpl; // number of
|
---|
67 | Int_t *nhyp; // number of
|
---|
68 | Int_t *ndeut; // number of
|
---|
69 | Int_t *ntrit; // number of
|
---|
70 | Int_t *nalpha; // number of
|
---|
71 | Int_t *nother; // number of
|
---|
72 | Int_t ifinnu, ifinpi, ifinet, ifinka, ifinhy, cerele, cerhad;
|
---|
73 | Int_t lpct1, nstep;
|
---|
74 | Float_t thstep;
|
---|
75 | Float_t **plong, **aplong;
|
---|
76 | Float_t bunch;
|
---|
77 | Float_t timefirst, timelast;
|
---|
78 | ifstream input_file;
|
---|
79 | Int_t opened;
|
---|
80 |
|
---|
81 | protected:
|
---|
82 | void init( Int_t n );
|
---|
83 |
|
---|
84 | public:
|
---|
85 | CORStatfile ( void ); // constructor
|
---|
86 | CORStatfile ( Int_t n ); // overloaded constructor
|
---|
87 | ~CORStatfile ( void ); // destructor
|
---|
88 | // copy constructor defaults
|
---|
89 |
|
---|
90 | inline void set_bunch ( Float_t b ) { bunch = b; };
|
---|
91 | void read (); // reads data from input file
|
---|
92 | void write(ofstream &output_file); // writes data to given output file
|
---|
93 | Int_t openfile ( char *fname ); // sets and opens new sta* file
|
---|
94 | void closefile (); // sets and opens new sta* file
|
---|
95 | inline Float_t get_tfirst() { return ( timefirst ); }
|
---|
96 | inline Float_t get_tlast() { return ( timelast ); }
|
---|
97 |
|
---|
98 | };
|
---|
99 |
|
---|
100 | // @endcode
|
---|
101 |
|
---|
102 | #endif // not defined CORStatfile_Class
|
---|
103 |
|
---|