/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.jlab.hipo.tests;
import org.jlab.hipo.data.HipoEvent;
import org.jlab.hipo.data.HipoGroup;
import org.jlab.hipo.io.HipoReader;
import org.jlab.hipo.io.HipoWriter;
import org.jlab.hipo.schema.SchemaFactory;
/**
*
* @author gavalian
*/
public class WriterTests {
public static void writeWithDictionary(){
HipoWriter writer = new HipoWriter();
writer.setCompressionType(2);
writer.getSchemaFactory().initFromDirectory("/Users/gavalian/Work/Software/Release-9.0/COATJAVA/coatjava/etc/bankdefs/hipo");
writer.open("hipo_test_dictionary.hipo");
for(int i = 0; i < 4600; i++){
HipoGroup group = writer.getSchemaFactory().getSchema("FTOF::dgtz").createGroup(345);
HipoEvent event = writer.createEvent();
event.writeGroup(group);
writer.writeEvent(event);
}
writer.close();
}
public static void writeNtuple(){
HipoWriter writer = new HipoWriter();
writer.defineSchema("Event", 20, "id/I:px/F:py/F:pz/F");
writer.setCompressionType(2);
writer.open("hipo_test_ntuple.hipo");
int nevents = 500;
for(int i = 0; i < nevents; i++){
HipoGroup bank = writer.getSchemaFactory().getSchema("Event").createGroup(4);
bank.getNode("id").setInt(0, 211);
bank.getNode("px").setFloat(0, (float) Math.random());
bank.getNode("py").setFloat(0, (float) Math.random());
bank.getNode("pz").setFloat(0, (float) Math.random());
bank.show();
HipoEvent event = writer.createEvent();
event.writeGroup(bank);
writer.writeEvent(event);
}
writer.close();
}
public static void readSchemaFactory(){
SchemaFactory factory = new SchemaFactory();
factory.initFromDirectory("/Users/gavalian/Work/Software/Release-9.0/COATJAVA/coatjava/etc/bankdefs/hipo");
factory.show();
System.out.println("-------> end of schema read test");
}
public static void main(String[] args){
//WriterTests.writeWithDictionary();
//WriterTests.readSchemaFactory();
WriterTests.writeNtuple();
/*
HipoReader reader = new HipoReader();
reader.open("hipo_test_ntuple.hipo");
for(int i = 0; i < 5; i++){
HipoEvent event = reader.readHipoEvent(i);
event.show();
}*/
}
}
Ads help maintain this website.