Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:03

0001 #include "G4RootRawTowerContainer.h"
0002 
0003 #include "G4RootRawTower.h"
0004 
0005 #include <TClonesArray.h>
0006 
0007 #include <limits>
0008 #include <ostream>  // for basic_ostream::operator<<, operator<<, endl
0009 
0010 static const int NMAX = 1000;
0011 
0012 G4RootRawTowerContainer::G4RootRawTowerContainer()
0013 {
0014   SnglG4RootRawTowers = new TClonesArray("G4RootRawTower", NMAX);
0015 }
0016 
0017 G4RootRawTowerContainer::~G4RootRawTowerContainer()
0018 {
0019   SnglG4RootRawTowers->Clear();
0020   delete SnglG4RootRawTowers;
0021 }
0022 
0023 void G4RootRawTowerContainer::Reset()
0024 {
0025   etotal = std::numeric_limits<float>::quiet_NaN();
0026   event = 0;
0027   SnglG4RootRawTowers->Clear();
0028   if (SnglG4RootRawTowers->GetSize() > NMAX)
0029   {
0030     SnglG4RootRawTowers->Expand(NMAX);
0031   }
0032   return;
0033 }
0034 
0035 G4RootRawTower *
0036 G4RootRawTowerContainer::AddG4RootRawTower(const G4RootRawTower &g4tower)
0037 {
0038   TClonesArray &cl = *SnglG4RootRawTowers;
0039   int nextindex = SnglG4RootRawTowers->GetLast() + 1;
0040   if (nextindex == SnglG4RootRawTowers->GetSize())
0041   {
0042     SnglG4RootRawTowers->Expand(SnglG4RootRawTowers->GetSize() + 10000);
0043   }
0044   new (cl[nextindex]) G4RootRawTower(g4tower);
0045   return (static_cast<G4RootRawTower *>(cl[nextindex]));
0046 }
0047 
0048 void G4RootRawTowerContainer::identify(std::ostream &os) const
0049 {
0050   os << "Number of G4RootRawTowers: " << SnglG4RootRawTowers->GetLast() << std::endl;
0051   return;
0052 }