#ifndef IOSDDATA_H #define IOSDDATA_H #include #include #include #include #include //#include //#include "TROOT.h" #include "TH1.h" #include "TObject.h" #define NPMT 3 #define MAXSAMPLE 768 #define NGAIN 2 #define NB_HISTO_CALIB 10 #define SINGLE_MUON_SIZE 20 //#define SENDERSIZE 16 //#define ALGOSIZE 16 //#define STATION_NAME_SIZE 50 typedef int EventPos; typedef int EventId; class IoSdT2Trigger { public: UInt_t Type; UInt_t Window; UInt_t Offset; string Name; virtual ~IoSdT2Trigger() {}; ClassDef(IoSdT2Trigger,1) }; class IoSdGps {// Gps data public: //End of traces raw time UInt_t Second; UInt_t Tick; //Saw Tooth and Clock pulses UInt_t Current100; UInt_t Next100; UInt_t Current40; UInt_t Next40; UInt_t PreviousST; UInt_t CurrentST; UInt_t NextST; //Gps offset Int_t Offset; // Members that don't go to file UInt_t NanoSecond;//! ClassDef(IoSdGps,1) }; #include "TH1.h" class IoSdHisto {// Muon histos public : IoSdHisto(){ for (int i = 0; i < NPMT; i++) { HBase[i] = NULL; HPeak[i] = NULL; HCharge[i] = NULL; HShape[i] = NULL; } HCharge[NPMT] = NULL; } virtual ~IoSdHisto() { for (int i = 0; i < NPMT; i++) { if(HBase[i]) delete HBase[i]; if(HPeak[i]) delete HPeak[i]; if(HCharge[i]) delete HCharge[i]; if(HShape[i]) delete HShape[i]; } if(HCharge[NPMT]) delete HCharge[NPMT]; } UShort_t Offset[NB_HISTO_CALIB]; UShort_t Base[NPMT][20]; UShort_t Peak[NPMT][150]; UShort_t Charge[NPMT+1][600]; UInt_t Shape[NPMT][SINGLE_MUON_SIZE]; // Members that don't go to file TH1F *HBase[3]; //! TH1F *HPeak[3]; //! TH1F *HCharge[4]; //! TH1F *HShape[3]; //! ClassDef(IoSdHisto,1) }; class IoSdCalib {// Calibration Data public: IoSdCalib() {Version=0;} UShort_t Version; UShort_t TubeMask; UInt_t StartSecond; UInt_t EndSecond; UShort_t NbT1; UShort_t NbT2; UShort_t NbTOT; UShort_t NbTDA[NPMT]; UShort_t Evolution[NPMT]; Float_t Rate[NPMT]; Float_t VemPeak[NPMT]; Float_t VemCharge[NPMT]; Float_t Base[2*NPMT]; Float_t SigmaBase[2*NPMT]; Float_t DA[NPMT]; Float_t SigmaDA[NPMT]; // Members that don't go to file UInt_t TubeOk[NPMT]; //! Float_t T1Rate; //! Float_t T2Rate; //! Float_t TOTRate; //! Float_t TDARate[NPMT];//! ClassDef(IoSdCalib,1) }; class IoSdPmt {//Calibrated PMT traces. This class doesn't go to file. public: IoSdPmt() {}; UInt_t NSample; Float_t Trace[NPMT][NGAIN][MAXSAMPLE]; }; class IoSdFadc {//Uncalibrated PMT traces public: IoSdFadc() {}; UInt_t NSample; Short_t Trace[NPMT][NGAIN][MAXSAMPLE]; ClassDef(IoSdFadc,1) }; class IoSdStation { public: IoSdStation() { cout<<"Station Constructor 1"< Stations; // Members that don't go to file time_t UTCTime; //! std::string UTCDate; //! ClassDef(IoSdEvent,1) }; #endif