Newer
Older
#ifndef __EXOGAMDATA__
#define __EXOGAMDATA__
/*****************************************************************************
* Copyright (C) 2009-2016 this file is part of the NPTool Project *
* *
* For the licensing terms see $NPTOOL/Licence/NPTool_Licence *
* For the list of contributors see $NPTOOL/Licence/Contributors *
*****************************************************************************/
/*****************************************************************************
* Original Author: N. de Sereville contact address: deserevi@ipno.in2p3.fr *
* *
* Creation Date : march 2009 *
* Last update : *
*---------------------------------------------------------------------------*
* Decription: *
* This class hold Exogam Raw data *
* *
*---------------------------------------------------------------------------*
* Comment: *
* *
* *
*****************************************************************************/
// STL
#include <vector>
#include "TObject.h"
class TExogamData : public TObject {
private:
// ECC / Energy
vector<UShort_t> fEXO_ECC_E_Clover;
vector<UShort_t> fEXO_ECC_E_Cristal;
vector<UShort_t> fEXO_ECC_E_Energy;
// ECC / Time
vector<UShort_t> fEXO_ECC_T_Clover;
vector<UShort_t> fEXO_ECC_T_Cristal;
vector<UShort_t> fEXO_ECC_T_Time;
// GOCCE / Energy
vector<UShort_t> fEXO_GOCCE_E_Clover;
vector<UShort_t> fEXO_GOCCE_E_Cristal;
vector<UShort_t> fEXO_GOCCE_E_Segment;
vector<UShort_t> fEXO_GOCCE_E_Energy;
// GOCCE / Time
vector<UShort_t> fEXO_GOCCE_T_Clover;
vector<UShort_t> fEXO_GOCCE_T_Cristal;
vector<UShort_t> fEXO_GOCCE_T_Segment;
vector<UShort_t> fEXO_GOCCE_T_Time;
// GeFill
UShort_t fEXO_Fill;
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
public:
TExogamData();
virtual ~TExogamData();
void Clear();
void Clear(const Option_t*) {};
void Dump() const;
///////////////////// SETTERS ////////////////////////
// ECC / Energy
void SetECCEClover(UShort_t clov) { fEXO_ECC_E_Clover.push_back(clov);}
void SetECCECristal(UShort_t cris) { fEXO_ECC_E_Cristal.push_back(cris);}
void SetECCEEnergy(UShort_t ener) { fEXO_ECC_E_Energy.push_back(ener);}
// ECC / Time
void SetECCTClover(UShort_t clov) { fEXO_ECC_T_Clover.push_back(clov);}
void SetECCTCristal(UShort_t cris) { fEXO_ECC_T_Cristal.push_back(cris);}
void SetECCTTime(UShort_t time) { fEXO_ECC_T_Time.push_back(time);}
// GOCCE / Energy
void SetGOCCEEClover(UShort_t clov) { fEXO_GOCCE_E_Clover.push_back(clov);}
void SetGOCCEECristal(UShort_t cris) { fEXO_GOCCE_E_Cristal.push_back(cris);}
void SetGOCCEESegment(UShort_t seg) { fEXO_GOCCE_E_Segment.push_back(seg);}
void SetGOCCEEEnergy(UShort_t ener) { fEXO_GOCCE_E_Energy.push_back(ener);}
// GOCCE / Time
void SetGOCCETClover(UShort_t clov) { fEXO_GOCCE_T_Clover.push_back(clov);}
void SetGOCCETCristal(UShort_t cris) { fEXO_GOCCE_T_Cristal.push_back(cris);}
void SetGOCCETSegment(UShort_t seg) { fEXO_GOCCE_T_Segment.push_back(seg);}
void SetGOCCETTime(UShort_t time) { fEXO_GOCCE_T_Time.push_back(time);}
//GeFill
void SetGeFill(UShort_t Fill) {fEXO_Fill = Fill;}
///////////////////// GETTERS ////////////////////////
// ECC / Energy
// UShort_t GetCloverMult() {return fEXO_ECC_E_Clover.size();}
UShort_t GetECCEMult() {return fEXO_ECC_E_Clover.size();}
UShort_t GetECCEClover(Int_t i) {return fEXO_ECC_E_Clover[i];}
UShort_t GetECCECristal(Int_t i) {return fEXO_ECC_E_Cristal[i];}
UShort_t GetECCEEnergy(Int_t i) {return fEXO_ECC_E_Energy[i];}
// ECC / Time
UShort_t GetECCTMult() {return fEXO_ECC_T_Clover.size();}
UShort_t GetECCTClover(Int_t i) {return fEXO_ECC_T_Clover[i];}
UShort_t GetECCTCristal(Int_t i) {return fEXO_ECC_T_Cristal[i];}
UShort_t GetECCTTime(Int_t i) {return fEXO_ECC_T_Time[i];}
// GOCCE / Energy
UShort_t GetGOCCEEMult() {return fEXO_GOCCE_E_Clover.size();} // multiplicity of segments hit in one clover
UShort_t GetGOCCEEClover(Int_t i) {return fEXO_GOCCE_E_Clover[i];}
UShort_t GetGOCCEECristal(Int_t i) {return fEXO_GOCCE_E_Cristal[i];}
UShort_t GetGOCCEESegment(Int_t i) {return fEXO_GOCCE_E_Segment[i];}
UShort_t GetGOCCEEEnergy(Int_t i) {return fEXO_GOCCE_E_Energy[i];}
// GOCCE / Time
UShort_t GetGOCCETMult() {return fEXO_GOCCE_T_Clover.size();}
UShort_t GetGOCCETClover(Int_t i) {return fEXO_GOCCE_T_Clover[i];}
UShort_t GetGOCCETCristal(Int_t i) {return fEXO_GOCCE_T_Cristal[i];}
UShort_t GetGOCCETSegment(Int_t i) {return fEXO_GOCCE_T_Segment[i];}
UShort_t GetGOCCETTime(Int_t i) {return fEXO_GOCCE_T_Time[i];}