File indexing completed on 2026-04-02 08:12:56
0001 #ifndef MBD_MBDRAWCONTAINERV2_H__
0002 #define MBD_MBDRAWCONTAINERV2_H__
0003
0004 #include "MbdRawContainer.h"
0005
0006 #include <iostream>
0007
0008 #include <TClonesArray.h>
0009
0010
0011 class MbdRawContainerV2 : public MbdRawContainer
0012 {
0013 public:
0014
0015 MbdRawContainerV2();
0016
0017
0018 virtual ~MbdRawContainerV2();
0019
0020
0021 void Reset() override;
0022
0023
0024
0025
0026 void identify(std::ostream &out = std::cout) const override;
0027
0028
0029 int isValid() const override;
0030
0031
0032
0033
0034
0035
0036 virtual void set_clocks(const Int_t ievt, const UShort_t iclk, const UShort_t ifemclk) override;
0037
0038
0039
0040 virtual Int_t get_evt() const override;
0041
0042
0043
0044 virtual UShort_t get_clock() const override;
0045
0046
0047
0048 virtual UShort_t get_femclock() const override;
0049
0050
0051
0052
0053 void set_npmt(const Short_t ival) override
0054 {
0055 if ( ival != MbdRawHits->GetEntries() )
0056 {
0057 std::cout << "ERROR, " << ival << " differs from " << MbdRawHits->GetEntries() << std::endl;
0058 std::cout << " Setting npmt to " << MbdRawHits->GetEntries() << std::endl;
0059 }
0060 npmt = MbdRawHits->GetEntries();
0061 return;
0062 }
0063
0064
0065 Short_t get_npmt() const override { return MbdRawHits->GetEntries(); }
0066
0067
0068
0069
0070 MbdRawHit *get_pmt(const int iPmt) const override { return (MbdRawHit*)MbdRawHits->ConstructedAt(iPmt); }
0071
0072 private:
0073 TClonesArray *GetMbdRawHits() const { return MbdRawHits; }
0074
0075 Int_t evt{-1};
0076 UShort_t clk{0};
0077 UShort_t femclk{0};
0078 Short_t npmt = 0;
0079 TClonesArray *MbdRawHits = nullptr;
0080
0081 ClassDefOverride(MbdRawContainerV2, 1)
0082 };
0083
0084 #endif