AIDA API
Version 3.3

hep.aida
Interface ITupleFactory


public interface ITupleFactory

A factory for creating ITuples.

Author:
The AIDA team (http://aida.freehep.org/)

Method Summary
 ITuple create(String path, String title, String columns)
          Creates an NTuple
 ITuple create(String path, String title, String[] columnNames, Class[] columnType)
          Creates an NTuple
 ITuple create(String path, String title, String[] columnNames, Class[] columnType, String options)
          Creates an NTuple
 ITuple create(String path, String title, String columns, String options)
          Creates an NTuple
 ITuple createChained(String path, String title, ITuple[] set)
          Creates a logical chain of ITuples.
 ITuple createChained(String path, String title, String[] set)
          Creates a logical chain of ITuples.
 ITuple createCopy(String path, ITuple tuple)
          Create a copy of an ITuple.
 IEvaluator createEvaluator(String expression)
          Create IEvaluator object given its expression.
 IFilter createFilter(String expression)
          Creates IFilter object given a string defining of the "cut" expression.
 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.
 

Method Detail

create

public ITuple create(String path,
                     String title,
                     String[] columnNames,
                     Class[] columnType)
              throws IllegalArgumentException
Creates an NTuple

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
columnNames - 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.
Throws:
IllegalArgumentException - if a directory in the path does not exist, or the path is illegal.

create

public ITuple create(String path,
                     String title,
                     String[] columnNames,
                     Class[] columnType,
                     String options)
              throws IllegalArgumentException
Creates an NTuple

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
columnNames - The names of the columns
columnType - The types of the columns
options - NTuple options (currently undefined) 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.
Throws:
IllegalArgumentException - if a directory in the path does not exist, or the path is illegal.

create

public ITuple create(String path,
                     String title,
                     String columns)
              throws IllegalArgumentException
Creates an NTuple

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.
Throws:
IllegalArgumentException - if a directory in the path does not exist, or the path is illegal.

create

public ITuple create(String path,
                     String title,
                     String columns,
                     String options)
              throws IllegalArgumentException
Creates an NTuple

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 - NTuple options (currently undefined) 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.
Throws:
IllegalArgumentException - if a directory in the path does not exist, or the path is illegal.

createChained

public ITuple createChained(String path,
                            String title,
                            ITuple[] set)
                     throws IllegalArgumentException
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.

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
set - The array of ITuples to chain
Throws:
IllegalArgumentException - if a directory in the path does not exist, or the path is illegal.

createChained

public ITuple createChained(String path,
                            String title,
                            String[] set)
                     throws IllegalArgumentException
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.

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
set - The array of the names of the ITuples to chain
Throws:
IllegalArgumentException - if a directory in the path does not exist, or the path is illegal.

createCopy

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

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

createFiltered

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

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
Throws:
IllegalArgumentException - if a directory in the path does not exist, or the path is illegal.

createFiltered

public ITuple createFiltered(String path,
                             ITuple tuple,
                             IFilter filter,
                             String[] columns)
                      throws IllegalArgumentException
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.

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
Throws:
IllegalArgumentException - if a directory in the path does not exist, or the path is illegal.

createFilter

public IFilter createFilter(String expression)
Creates IFilter object given a string defining of the "cut" expression.

Parameters:
expression - String defining of the "cut" expression.

createFilter

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

Parameters:
expression - String defining of the "cut" expression.
rowsToProcess - How many rows to process

createFilter

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

Parameters:
expression - String defining of the "cut" expression.
rowsToProcess - How many rows to process
startingRow - Row number where to start

createEvaluator

public IEvaluator createEvaluator(String expression)
Create IEvaluator object given its expression.

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.

AIDA API
Version 3.3

Copyright © 2000-2004 AIDA Team, All Rights Reserved.