package edu.cmu.cs.eyetrack.analysis.struct.trackit; import java.util.HashMap; import java.util.Map; public class Experiment { public static enum TrialType {ALL_SAME, ALL_DIFFERENT, SAME_AS_TARGET}; // Descriptors for the entire experiment private int numDistractors; private int objectSpeed; private TrialType type; private int numTrials; private int baseTrialLength; private boolean usesRandomTarget; private int fps; private int seed; private int gridX; private int gridY; private boolean usesBackgroundImages; private boolean usesMemCheck; // Sanity checker set during .csv input parsing private boolean parsedCorrectly = false; // Mapping of Trial ID --> Trial data private Map<Integer, Trial> trials; public Experiment() { trials = new HashMap<Integer, Trial>(); } public Trial addTrial(int id, Trial t) { return trials.put(id, t); } public Map<Integer, Trial> getTrials() { return trials; } public int getNumDistractors() { return numDistractors; } public void setNumDistractors(int numDistractors) { this.numDistractors = numDistractors; } public int getObjectSpeed() { return objectSpeed; } public void setObjectSpeed(int objectSpeed) { this.objectSpeed = objectSpeed; } public TrialType getType() { return type; } public void setType(TrialType type) { this.type = type; } public int getNumTrials() { return numTrials; } public void setNumTrials(int numTrials) { this.numTrials = numTrials; } public int getBaseTrialLength() { return baseTrialLength; } public void setBaseTrialLength(int baseTrialLength) { this.baseTrialLength = baseTrialLength; } public int getFPS() { return fps; } public void setFPS(int fps) { this.fps = fps; } public int getSeed() { return seed; } public void setSeed(int seed) { this.seed = seed; } public int getGridX() { return gridX; } public void setGridX(int gridX) { this.gridX = gridX; } public int getGridY() { return gridY; } public void setGridY(int gridY) { this.gridY = gridY; } public boolean usesBackgroundImages() { return usesBackgroundImages; } public void setUsesBackgroundImages(boolean usesBackgroundImages) { this.usesBackgroundImages = usesBackgroundImages; } public boolean usesMemCheck() { return usesMemCheck; } public void setUsesMemCheck(boolean usesMemCheck) { this.usesMemCheck = usesMemCheck; } public boolean usesRandomTarget() { return usesRandomTarget; } public void setUsesRandomTarget(boolean usesRandomTarget) { this.usesRandomTarget = usesRandomTarget; } public boolean isParsedCorrectly() { return parsedCorrectly; } public void setParsedCorrectly(boolean parsedCorrectly) { this.parsedCorrectly = parsedCorrectly; } }