Newer
Older
#ifndef __TiaraHyballDATA__
#define __TiaraHyballDATA__
/*****************************************************************************
* Copyright (C) 2009-2013 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: Adrien MATTA contact address: a.matta@surrey.ac.uk *
* *
* Last update : *
*---------------------------------------------------------------------------*
* Decription: *
* This class hold the Tiara Hyball Silicon array raw data *
* *
*---------------------------------------------------------------------------*
* Comment: *
* *
* *
*****************************************************************************/
// STL
#include<stdlib.h>
#include <vector>
#include <map>
using namespace std ;
// ROOT
#include "TNamed.h"
class TTiaraHyballData : public TNamed {
public:
TTiaraHyballData();
~TTiaraHyballData();
public:
void Clear();
void Clear(const Option_t*) {};
void Dump() const;
private:
vector<unsigned short> fTiaraHyball_Ring_DetectorNbr;
vector<unsigned short> fTiaraHyball_Ring_StripNbr;
vector<double> fTiaraHyball_Ring_Energy;
vector<double> fTiaraHyball_Ring_Time;
vector<unsigned short> fTiaraHyball_Sector_DetectorNbr;
vector<unsigned short> fTiaraHyball_Sector_StripNbr;
vector<double> fTiaraHyball_Sector_Energy;
vector<double> fTiaraHyball_Sector_Time;
///////////// Fast Setters ////////////////////
public:
inline void Set_Ring(const unsigned short& DetNbr, const unsigned short& StripNbr, const double& Energy, const double& Time){
Set_Ring_DetectorNbr(DetNbr);
Set_Ring_StripNbr(StripNbr);
Set_Ring_Energy(Energy);
Set_Ring_Time(Time);
};
inline void Set_Sector(const unsigned short& DetNbr, const unsigned short& StripNbr, const double& Energy, const double& Time){
Set_Sector_DetectorNbr(DetNbr);
Set_Sector_StripNbr(StripNbr);
Set_Sector_Energy(Energy);
Set_Sector_Time(Time);
};
///////////// Getter and Setter ////////////////
public:
inline void Set_Ring_DetectorNbr(const unsigned short& Ring_DetectorNbr)
{fTiaraHyball_Ring_DetectorNbr.push_back(Ring_DetectorNbr);}
inline unsigned short Get_Ring_DetectorNbr(const unsigned int& i) const
{return fTiaraHyball_Ring_DetectorNbr[i];}
inline void Set_Ring_StripNbr(const unsigned short& Ring_StripNbr)
{fTiaraHyball_Ring_StripNbr.push_back(Ring_StripNbr);}
inline unsigned short Get_Ring_StripNbr(const unsigned int& i) const
{return fTiaraHyball_Ring_StripNbr[i];}
inline void Set_Ring_Energy(const double& Ring_Energy)
{fTiaraHyball_Ring_Energy.push_back(Ring_Energy);}
inline double Get_Ring_Energy(const unsigned int& i) const
{return fTiaraHyball_Ring_Energy[i];}
inline void Set_Ring_Time(const double& Ring_Time)
{fTiaraHyball_Ring_Time.push_back(Ring_Time);}
inline double Get_Ring_Time(const unsigned int& i) const
{return fTiaraHyball_Ring_Time[i];}
inline void Set_Sector_DetectorNbr(const unsigned short& Sector_DetectorNbr)
{fTiaraHyball_Sector_DetectorNbr.push_back(Sector_DetectorNbr);}
inline unsigned short Get_Sector_DetectorNbr(const unsigned int& i) const
{return fTiaraHyball_Sector_DetectorNbr[i];}
inline void Set_Sector_StripNbr(const unsigned short& Sector_StripNbr)
{fTiaraHyball_Sector_StripNbr.push_back(Sector_StripNbr);}
inline unsigned short Get_Sector_StripNbr(const unsigned int& i) const
{return fTiaraHyball_Sector_StripNbr[i];}
inline void Set_Sector_Energy(const double& Sector_Energy)
{fTiaraHyball_Sector_Energy.push_back(Sector_Energy);}
inline double Get_Sector_Energy(const unsigned int& i) const
{return fTiaraHyball_Sector_Energy[i];}
inline void Set_Sector_Time(const double& Sector_Time)
{fTiaraHyball_Sector_Time.push_back(Sector_Time);}
inline double Get_Sector_Time(const unsigned int& i) const
{return fTiaraHyball_Sector_Time[i];}
};
#endif