# numpy dtype for LGAL_GAL_STRUCT
import numpy
struct_dtype = numpy.dtype([
('GalID',numpy.int64,1),
('HaloID',numpy.int64,1),
('FirstProgGal',numpy.int64,1),
('NextProgGal',numpy.int64,1),
('LastProgGal',numpy.int64,1),
('FOFCentralGal',numpy.int64,1),
('CentralGal',numpy.int64,1),
('FileTreeNr',numpy.int64,1),
('DescendantGal',numpy.int64,1),
('MainLeafId',numpy.int64,1),
('TreeRootId',numpy.int64,1),
('SubID',numpy.int64,1),
('MMSubID',numpy.int64,1),
('PeanoKey',numpy.int32,1),
('Redshift',numpy.float32,1),
('Type',numpy.int32,1),
('SnapNum',numpy.int32,1),
('LookBackTimeToSnap',numpy.float32,1),
('CentralMvir',numpy.float32,1),
('CentralRvir',numpy.float32,1),
('DistanceToCentralGal',numpy.float32,3),
('Pos',numpy.float32,3),
('Vel',numpy.float32,3),
('Len',numpy.int32,1),
('Mvir',numpy.float32,1),
('Rvir',numpy.float32,1),
('Vvir',numpy.float32,1),
('Vmax',numpy.float32,1),
('GasSpin',numpy.float32,3),
('StellarSpin',numpy.float32,3),
('InfallVmax',numpy.float32,1),
('InfallVmaxPeak',numpy.float32,1),
('InfallSnap',numpy.int32,1),
('InfallHotGas',numpy.float32,1),
('HotRadius',numpy.float32,1),
('OriMergTime',numpy.float32,1),
('MergTime',numpy.float32,1),
('ColdGas',numpy.float32,1),
('StellarMass',numpy.float32,1),
('BulgeMass',numpy.float32,1),
('DiskMass',numpy.float32,1),
('HotGas',numpy.float32,1),
('EjectedMass',numpy.float32,1),
('BlackHoleMass',numpy.float32,1),
('ICM',numpy.float32,1),
('MetalsColdGas',numpy.float32,1),
('MetalsStellarMass',numpy.float32,1),
('MetalsBulgeMass',numpy.float32,1),
('MetalsDiskMass',numpy.float32,1),
('MetalsHotGas',numpy.float32,1),
('MetalsEjectedMass',numpy.float32,1),
('MetalsICM',numpy.float32,1),
('PrimordialAccretionRate',numpy.float32,1),
('CoolingRadius',numpy.float32,1),
('CoolingRate',numpy.float32,1),
('CoolingRate_beforeAGN',numpy.float32,1),
('QuasarAccretionRate',numpy.float32,1),
('RadioAccretionRate',numpy.float32,1),
('Sfr',numpy.float32,1),
('SfrBulge',numpy.float32,1),
('XrayLum',numpy.float32,1),
('BulgeSize',numpy.float32,1),
('StellarDiskRadius',numpy.float32,1),
('GasDiskRadius',numpy.float32,1),
('CosInclination',numpy.float32,1),
('DisruptOn',numpy.int32,1),
('MergeOn',numpy.int32,1),
('MagDust',numpy.float32,8),
('Mag',numpy.float32,8),
('MagBulge',numpy.float32,8),
('ObsMagDust',numpy.float32,8),
('ObsMag',numpy.float32,8),
('ObsMagBulge',numpy.float32,8),
('MassWeightAge',numpy.float32,1),
('rbandWeightAge',numpy.float32,1),
('sfh_ibin',numpy.int32,1),
('sfh_numbins',numpy.int32,1),
('sfh_DiskMass',numpy.float32,21),
('sfh_BulgeMass',numpy.float32,21),
('sfh_ICM',numpy.float32,21),
('sfh_MetalsDiskMass',numpy.float32,21),
('sfh_MetalsBulgeMass',numpy.float32,21),
('sfh_MetalsICM',numpy.float32,21),
('ending','i4',0)
])
properties_used = {}
for el in struct_dtype.names:
	properties_used[el] = False
