File indexing completed on 2025-08-06 08:17:14
0001 #include "MicromegasRawHitContainerv1.h"
0002 #include "MicromegasRawHitv1.h"
0003
0004 #include <TClonesArray.h>
0005
0006 static constexpr int NHITS = 100;
0007
0008 MicromegasRawHitContainerv1::MicromegasRawHitContainerv1()
0009 : MicromegasRawHitsTCArray(new TClonesArray("MicromegasRawHitv1", NHITS))
0010 {
0011 }
0012
0013 MicromegasRawHitContainerv1::~MicromegasRawHitContainerv1()
0014 {
0015 MicromegasRawHitsTCArray->Clear("C");
0016 delete MicromegasRawHitsTCArray;
0017 }
0018
0019 void MicromegasRawHitContainerv1::Reset()
0020 {
0021 MicromegasRawHitsTCArray->Clear("C");
0022 MicromegasRawHitsTCArray->Expand(NHITS);
0023 }
0024
0025 void MicromegasRawHitContainerv1::identify(std::ostream &os) const
0026 {
0027 os << "MicromegasRawHitContainerv1" << std::endl;
0028 os << "containing " << MicromegasRawHitsTCArray->GetEntriesFast() << " Micromegas hits" << std::endl;
0029
0030 auto *hit = static_cast<MicromegasRawHit *>(MicromegasRawHitsTCArray->At(0));
0031 if (hit)
0032 {
0033 os << "for beam clock: " << std::hex << hit->get_bco() << std::dec << std::endl;
0034 }
0035 }
0036
0037 int MicromegasRawHitContainerv1::isValid() const
0038 {
0039 return MicromegasRawHitsTCArray->GetSize();
0040 }
0041
0042 unsigned int MicromegasRawHitContainerv1::get_nhits()
0043 {
0044 return MicromegasRawHitsTCArray->GetEntriesFast();
0045 }
0046
0047 MicromegasRawHit *MicromegasRawHitContainerv1::AddHit()
0048 {
0049 MicromegasRawHit *newhit = new ((*MicromegasRawHitsTCArray)[MicromegasRawHitsTCArray->GetLast() + 1]) MicromegasRawHitv1;
0050 return newhit;
0051 }
0052
0053 MicromegasRawHit *MicromegasRawHitContainerv1::AddHit(MicromegasRawHit *source)
0054 {
0055 auto *newhit = new ((*MicromegasRawHitsTCArray)[MicromegasRawHitsTCArray->GetLast() + 1]) MicromegasRawHitv1(source);
0056 return newhit;
0057 }
0058
0059 MicromegasRawHit *MicromegasRawHitContainerv1::get_hit(unsigned int index)
0060 {
0061
0062 return static_cast<MicromegasRawHit *>(MicromegasRawHitsTCArray->At(index));
0063 }