Containers.h 1.95 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
/** @file Containers.h
 *  @brief Class to define containers: child classes with only public data memebers
 *
 *
 *  @author Riccardo Longo
 *  @bug No known bugs.
 */

#ifndef CONTAINERS_H
#define CONTAINERS_H

#include "Containers.h"
13
#include "TH1.h"
14

15
#include <iostream>
16
#include <vector>
17
18
19
20
21
22
23
24
25
26
27
28
29
30

class Channel {

 public :
    /** Detector associated to this channel. RPD or ZDC
    *   Mapping (sitting on the impinging beam) [R,C] for ZDC:
    *   ZDC1 -> [0,1]    |
    *   ZDC2 -> [0,2]   \ /
    *   Mapping (sitting on the impinging beam) [R,C] for RPD:
    *   Jura [1,4] [1,3] [1,2] [1,1] Saleve
    *        [2,4] [2,3] [2,2] [2,1]
    *        [3,4] [3,3] [3,2] [3,1]
    *        [4,4] [4,3] [4,2] [4,1]
    */
clantz's avatar
clantz committed
31
	/** Type of detector - ZDC or RPD **/
32
33
34
35
36
37
38
39
40
41
42
43
44
    std::string detector;
    /** Channel name - CXX with XX in [1,20]  */
    std::string name;
    /** High voltage set for this channel - in V */
    double HV;
    /** Delay set for this channel - in ns */
    double delay;
    /** Offset set for this channel */
    double offset;
    /** Mapping in the horizontal direction [R] */
    int mapping_row;
    /** Mapping in the vertical direction [C] */
    int mapping_column;
clantz's avatar
clantz committed
45
46
47
48
    /** Was the channel functioning */
    bool is_on;
    /** Operating voltage of the channel**/
    int Vop;
49
    /** Raw waveform for a particular event **/
50
    std::vector < float > WF;
51
52
    /** Histrogram for visualization and analysis of the waveform **/
    TH1D* WF_histo;
53
54
55

};

Riccardo Longo's avatar
Riccardo Longo committed
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
class Alignment {

 public:

    /** X position of the Desy Table **/
    double x_table;
    /** Y position of the Desy Table **/
    double y_table;
    /** First detector met by the beam **/
    std::string upstream_Det;
    /** Second detector met by the beam **/
    std::string mid_Det;
    /** Third detector met by the beam **/
    std::string downstream_Det;
    /** GOLIATH magnet status **/
    bool magnet_On;
    /** Target in **/
    bool target_In;
    /** Lead absorber in **/
    bool lead_In;

};

79
#endif