/*
$Id: UInt4ContainerArray.cc 2256 2011-05-30 04:43:47Z jisuzuki $
*/


#include "UInt4ContainerArray.hh"
////////////////////////////////////
UInt4ContainerArray::
UInt4ContainerArray()
{
}
////////////////////////////////////
/*
UInt4ContainerArray::
UInt4ContainerArray( HeaderBase pheader )
  :  NeutronVector<UInt4Container,HeaderBase>
  :: NeutronVector<UInt4Container,HeaderBase>( pheader )
{
}
*/
UInt4ContainerArray::
UInt4ContainerArray( HeaderBase pheader )
  :  NeutronVector<UInt4Container,HeaderBase>( pheader )
{
}
////////////////////////////////////
/*
UInt4ContainerArray::
UInt4ContainerArray( const NeutronVector< UInt4Container, HeaderBase > &ob )
  :  NeutronVector<UInt4Container,HeaderBase>
  :: NeutronVector<UInt4Container,HeaderBase>( ob )
{
}
*/
UInt4ContainerArray::
UInt4ContainerArray( const NeutronVector< UInt4Container, HeaderBase > &ob )
  :  NeutronVector<UInt4Container,HeaderBase>( ob )
{
}
////////////////////////////////////
UInt4Container*
UInt4ContainerArray::
operator[]( UInt4 index )
{
  return PutPointer( index );
}
////////////////////////////////////
std::vector<UInt4>*
UInt4ContainerArray::
operator()( UInt4 index, std::string key )
{
  return ( *( PutPointer( index ) ) )[ key ];
}
////////////////////////////////////
std::vector<UInt4>*
UInt4ContainerArray::
operator()( UInt4 index, UInt4 C_index )
{
  return ( *( PutPointer( index ) ) )[ C_index ];
}
////////////////////////////////////
ElementContainerArray
UInt4ContainerArray::
ConvertIntoElementContainerArray()
{
  ElementContainerArray a;
  a.InputHeader( PutHeader() );

  UInt4 Usize = PutSize();
  for( UInt4 i=0; i<Usize; i++ ){
    a.Add( PutPointer( i ) -> ConvertIntoElementContainer() );
  }
  return a;
}
////////////////////////////////////
