hep.aida.ref.tuple
Class TupleFactory

java.lang.Object
  extended by hep.aida.ref.tuple.TupleFactory
All Implemented Interfaces:
ITupleFactory

public class TupleFactory
extends Object
implements ITupleFactory


Constructor Summary
TupleFactory(ITree tree)
           
 
Method Summary
 ITuple create(String path, String title, String columns)
          Creates an NTuple
 ITuple create(String path, String title, String[] columnName, Class[] columnType)
          Creates an NTuple
 ITuple create(String path, String title, String[] columnName, Class[] columnType, String options)
          Create an NTuple
 ITuple create(String path, String title, String columns, String options)
          Create an NTuple
 ITuple createChained(String path, String title, ITuple[] set)
          Create a logical chain of ITuples.
 ITuple createChained(String path, String title, String[] setName)
          Creates a logical chain of ITuples.
 ITuple createCopy(String path, ITuple tuple)
          Create a copy of an ITuple.
 IEvaluator createEvaluator(String expression)
          Create IEvaluator.
 IFilter createFilter(String expression)
          Create IFilter.
 IFilter createFilter(String expression, int rowsToProcess)
          Creates a filter object given a string defining the "cut" expression.
 IFilter createFilter(String expression, int rowsToProcess, int startingRow)
          Creates a filter object given a string defining the "cut" expression.
 ITuple createFiltered(String path, ITuple tuple, IFilter filter)
          Creates a new reduced tuple (less rows) from an existing one by applying a filter.
 ITuple createFiltered(String path, ITuple tuple, IFilter filter, String[] columns)
          Creates a new reduced tuple (less rows) from an existing one by applying a filter.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TupleFactory

public TupleFactory(ITree tree)
Method Detail

create

public ITuple create(String path,
                     String title,
                     String[] columnName,
                     Class[] columnType,
                     String options)
Create an NTuple

Specified by:
create in interface ITupleFactory
Parameters:
path - The persistency path of the n-tuple
title - The title of the n-tuple
columnName - The names of the columns
columnType - The types of the columns
options - NTuple options (currently undefined)

create

public ITuple create(String path,
                     String title,
                     String[] columnName,
                     Class[] columnType)
Description copied from interface: ITupleFactory
Creates an NTuple

Specified by:
create in interface ITupleFactory
Parameters:
path - The path of the created ITuple. The path can either be a relative or full path. ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). All the directories in the path must exist. The characther `/` cannot be used in names; it is only used to delimit directories within paths.
title - The title of the n-tuple
columnName - The names of the columns
columnType - The types of the columns Options string must consist of series of parameters or key-value pairs that are separated by comma or semicolon ( "," or ";" ), white spaces are disregarded and will be trimmed away during parsing. Key-value pairs must be in a form: key=value, or key="value" (for values that contain spaces, commas, or other special characters). Single parameters may be converted to a parameter=true pair during parsing, like "verbose" -> "verbose=true". Any key that starts with "annotation." will be stripped of this prefix and put into annotation of newly created AIDA object.

create

public ITuple create(String path,
                     String title,
                     String columns,
                     String options)
Create an NTuple

Specified by:
create in interface ITupleFactory
Parameters:
path - The persistency path of the n-tuple
title - The title of the n-tuple
columns - The names and types of the columns e.g. "float px, py, pz, float energy, int charge"
options - NTuple options (currently undefined)

create

public ITuple create(String path,
                     String title,
                     String columns)
Description copied from interface: ITupleFactory
Creates an NTuple

Specified by:
create in interface ITupleFactory
Parameters:
path - The path of the created ITuple. The path can either be a relative or full path. ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). All the directories in the path must exist. The characther `/` cannot be used in names; it is only used to delimit directories within paths.
title - The title of the n-tuple
columns - The names and types of the columns e.g. "float px, py, pz, float energy, int charge" Options string must consist of series of parameters or key-value pairs that are separated by comma or semicolon ( "," or ";" ), white spaces are disregarded and will be trimmed away during parsing. Key-value pairs must be in a form: key=value, or key="value" (for values that contain spaces, commas, or other special characters). Single parameters may be converted to a parameter=true pair during parsing, like "verbose" -> "verbose=true". Any key that starts with "annotation." will be stripped of this prefix and put into annotation of newly created AIDA object.

createChained

public ITuple createChained(String path,
                            String title,
                            ITuple[] set)
Create a logical chain of ITuples. All ITuples in the set must have the same structure. Chained ITuple can not be filled.

Specified by:
createChained in interface ITupleFactory
Parameters:
path - The persistency name of the new n-tuple
title - The title of the new n-tuple
set - The array of ITuples to chain

createChained

public ITuple createChained(String path,
                            String title,
                            String[] setName)
Description copied from interface: ITupleFactory
Creates a logical chain of ITuples. All ITuples in the set must have the same structure. Chained ITuple can not be filled. Original n-tuple data is not copied.

Specified by:
createChained in interface ITupleFactory
Parameters:
path - The path of the chained ITuple. The path can either be a relative or full path. ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). All the directories in the path must exist. The characther `/` cannot be used in names; it is only used to delimit directories within paths.
title - The title of the new n-tuple
setName - The array of the names of the ITuples to chain

createFiltered

public ITuple createFiltered(String path,
                             ITuple tuple,
                             IFilter filter)
Description copied from interface: ITupleFactory
Creates a new reduced tuple (less rows) from an existing one by applying a filter. Data is explicitly copied to a new n-tuple.

Specified by:
createFiltered in interface ITupleFactory
Parameters:
path - The path of the filtered ITuple. The path can either be a relative or full path. ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). All the directories in the path must exist. The characther `/` cannot be used in names; it is only used to delimit directories within paths.
tuple - Original n-tuple
filter - IFilter to be used

createFiltered

public ITuple createFiltered(String path,
                             ITuple tuple,
                             IFilter filter,
                             String[] columns)
Description copied from interface: ITupleFactory
Creates a new reduced tuple (less rows) from an existing one by applying a filter. Only subset of the variables (columns) is copied. Data is explicitly copied to a new n-tuple.

Specified by:
createFiltered in interface ITupleFactory
Parameters:
path - The path of the filtered ITuple. The path can either be a relative or full path. ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). All the directories in the path must exist. The characther `/` cannot be used in names; it is only used to delimit directories within paths.
tuple - Original n-tuple
filter - IFilter to be used
columns - Names of columns to for a new n-tuple

createCopy

public ITuple createCopy(String path,
                         ITuple tuple)
                  throws IllegalArgumentException
Create a copy of an ITuple.

Specified by:
createCopy in interface ITupleFactory
Parameters:
path - The path of the resulting ITuple. The path can either be a relative or full path. ("/folder1/folder2/dataName" and "../folder/dataName" are valid paths). All the directories in the path must exist. The characther `/` cannot be used in names; it is only used to delimit directories within paths.
tuple - The ITuple to be copied.
Returns:
The copy of the ITuple.
Throws:
IllegalArgumentException

createFilter

public IFilter createFilter(String expression)
Create IFilter.

Specified by:
createFilter in interface ITupleFactory
Parameters:
expression - String defining of the "cut" expression.

createFilter

public IFilter createFilter(String expression,
                            int rowsToProcess,
                            int startingRow)
Description copied from interface: ITupleFactory
Creates a filter object given a string defining the "cut" expression. Filter processes only subset of data.

Specified by:
createFilter in interface ITupleFactory
Parameters:
expression - String defining of the "cut" expression.
rowsToProcess - How many rows to process
startingRow - Row number where to start

createFilter

public IFilter createFilter(String expression,
                            int rowsToProcess)
Description copied from interface: ITupleFactory
Creates a filter object given a string defining the "cut" expression. Filter processes only subset of data.

Specified by:
createFilter in interface ITupleFactory
Parameters:
expression - String defining of the "cut" expression.
rowsToProcess - How many rows to process

createEvaluator

public IEvaluator createEvaluator(String expression)
Create IEvaluator.

Specified by:
createEvaluator in interface ITupleFactory
Parameters:
expression - String defining of the evaluator expression. This expression is composed by matematical functions and column names. If the tuple has a folder like structure, inner columns are specified by using the dot "." to represent the folder. For example let's consider a tuple with the following structure: "{float a; f1={double px,py,pz; ff1={E}}; f2={double x,y,z} }". Inner columns are represented as: - "f1.px" - "f1.ff1.E" - "f2.x" Operations among columns are allowed only in the following two cases: - the columns are at the same level: "f1.px + f1.py" - the columns are nested in each other. In this case the loop is done on the innermost column: "a + f1.px" (loop done over "f1.px") Operations among other types of columns are not allowed. For example "f1.px + f2.x" is not a valid expression as it is not garanteed that the two folders have the same number of entries. If the user desires to perform such an operation it will be necessary to loop over the tuple by hand.


jHepWork 3.2 © jWork.org