Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:08

0001 #include "InttRawHitContainerv2.h"
0002 #include "InttRawHitv2.h"
0003 
0004 #include <TClonesArray.h>
0005 
0006 static const int NINTTHITS = 100;
0007 
0008 InttRawHitContainerv2::InttRawHitContainerv2()
0009   : InttRawHitsTCArray(new TClonesArray("InttRawHitv2", NINTTHITS))
0010 {
0011 }
0012 
0013 InttRawHitContainerv2::~InttRawHitContainerv2()
0014 {
0015   delete InttRawHitsTCArray;
0016 }
0017 
0018 void InttRawHitContainerv2::Reset()
0019 {
0020   InttRawHitsTCArray->Clear();
0021   InttRawHitsTCArray->Expand(NINTTHITS);
0022 }
0023 
0024 void InttRawHitContainerv2::identify(std::ostream &os) const
0025 {
0026   os << "InttRawHitContainerv2" << std::endl;
0027   os << "containing " << InttRawHitsTCArray->GetEntriesFast() << " Intt hits" << std::endl;
0028   // NOLINTNEXTLINE(cppcoreguidelines-pro-type-static-cast-downcast)
0029   InttRawHit *intthit = static_cast<InttRawHit *>(InttRawHitsTCArray->At(0));
0030   if (intthit)
0031   {
0032     os << "for beam clock: " << std::hex << intthit->get_bco() << std::dec << std::endl;
0033   }
0034 }
0035 
0036 int InttRawHitContainerv2::isValid() const
0037 {
0038   return InttRawHitsTCArray->GetSize();
0039 }
0040 
0041 InttRawHit *InttRawHitContainerv2::AddHit()
0042 {
0043   InttRawHit *newhit = new ((*InttRawHitsTCArray)[InttRawHitsTCArray->GetLast() + 1]) InttRawHitv2();
0044   return newhit;
0045 }
0046 
0047 InttRawHit *InttRawHitContainerv2::AddHit(InttRawHit *intthit)
0048 {
0049   InttRawHit *newhit = new ((*InttRawHitsTCArray)[InttRawHitsTCArray->GetLast() + 1]) InttRawHitv2(intthit);
0050   return newhit;
0051 }
0052 
0053 unsigned int InttRawHitContainerv2::get_nhits()
0054 {
0055   return InttRawHitsTCArray->GetEntriesFast();
0056 }
0057 
0058 InttRawHit *InttRawHitContainerv2::get_hit(unsigned int index)
0059 {
0060   return (InttRawHit *) InttRawHitsTCArray->At(index);
0061 }