use crate::{Category, Difficulty, Question};
pub fn questions() -> Vec<Question> {
vec![
Question {
id: 2001,
category: Category::IesFormat,
difficulty: Difficulty::Beginner,
text: "What organization publishes the IES photometric file format?".into(),
options: vec!["CIE".into(), "IESNA (Illuminating Engineering Society)".into(), "NEMA".into(), "ISO".into()],
correct_index: 1,
explanation: "The IES file format is published by the Illuminating Engineering Society of North America (IESNA).".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2002,
category: Category::IesFormat,
difficulty: Difficulty::Beginner,
text: "What standard defines the IES file format?".into(),
options: vec!["CIE 102".into(), "ANSI/IESNA LM-63".into(), "EN 13032".into(), "ISO 10527".into()],
correct_index: 1,
explanation: "The IES file format is defined by ANSI/IESNA LM-63 (Standard File Format for the Electronic Transfer of Photometric Data).".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2003,
category: Category::IesFormat,
difficulty: Difficulty::Beginner,
text: "What keyword begins an IES file?".into(),
options: vec!["IESNA".into(), "BEGIN".into(), "HEADER".into(), "VERSION".into()],
correct_index: 0,
explanation: "IES files begin with the IESNA keyword (e.g., 'IESNA:LM-63-2002' or just 'IESNA91').".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2004,
category: Category::IesFormat,
difficulty: Difficulty::Intermediate,
text: "What are the three IES photometric types?".into(),
options: vec![
"Type 1 (indoor), Type 2 (outdoor), Type 3 (industrial)".into(),
"Type A (automotive), Type B (floodlight), Type C (architectural)".into(),
"Type I (symmetric), Type II (asymmetric), Type III (multi-beam)".into(),
"Type X (horizontal), Type Y (vertical), Type Z (spherical)".into(),
],
correct_index: 1,
explanation: "IES defines Type A (automotive, around horizontal axis), Type B (floodlight, around vertical/horizontal), and Type C (architectural, C-planes from nadir).".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2005,
category: Category::IesFormat,
difficulty: Difficulty::Intermediate,
text: "Which IES photometric type is most commonly used?".into(),
options: vec!["Type A".into(), "Type B".into(), "Type C".into(), "All equally common".into()],
correct_index: 2,
explanation: "Type C is by far the most common, used for virtually all architectural and general lighting. Type A and B are rare.".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2006,
category: Category::IesFormat,
difficulty: Difficulty::Intermediate,
text: "How is absolute photometry indicated in an IES file?".into(),
options: vec![
"A special keyword [ABSOLUTE]".into(),
"lumens_per_lamp = -1".into(),
"A flag in the header".into(),
"Intensity values are prefixed with 'A'".into(),
],
correct_index: 1,
explanation: "When lumens_per_lamp is set to -1, the IES file uses absolute photometry mode where intensities are in actual candelas.".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2007,
category: Category::IesFormat,
difficulty: Difficulty::Intermediate,
text: "What unit are IES intensity values stored in by default?".into(),
options: vec!["cd/klm".into(), "Candelas (cd)".into(), "Lumens (lm)".into(), "cd/m²".into()],
correct_index: 1,
explanation: "IES files store intensity values in candelas (cd). This differs from EULUMDAT which uses cd/klm.".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2008,
category: Category::IesFormat,
difficulty: Difficulty::Expert,
text: "How many IES file format versions exist?".into(),
options: vec!["2".into(), "3".into(), "4".into(), "5".into()],
correct_index: 2,
explanation: "There are 4 versions: LM-63-1991, LM-63-1995, LM-63-2002, and LM-63-2019.".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2009,
category: Category::IesFormat,
difficulty: Difficulty::Expert,
text: "What does the TILT keyword in an IES file specify?".into(),
options: vec![
"The mounting angle of the luminaire".into(),
"Multiplying factors for tilted luminaire positions".into(),
"The tilt of the photometric center".into(),
"The angle of the lamp within the luminaire".into(),
],
correct_index: 1,
explanation: "TILT specifies multiplying factors to adjust candela values when the luminaire is tilted from its default position. TILT=NONE means no adjustment needed.".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2010,
category: Category::IesFormat,
difficulty: Difficulty::Beginner,
text: "What file extension do IES files use?".into(),
options: vec![".ldt".into(), ".ies".into(), ".pho".into(), ".dat".into()],
correct_index: 1,
explanation: "IES files use the .ies extension.".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
Question {
id: 2011,
category: Category::IesFormat,
difficulty: Difficulty::Expert,
text: "What does the file generation type code '1' mean in an IES file?".into(),
options: vec![
"Computer-generated photometry".into(),
"Tested photometry at an independent lab".into(),
"Field-measured photometry".into(),
"Manufacturer-estimated values".into(),
],
correct_index: 1,
explanation: "File generation type 1 indicates photometry tested at an independent testing laboratory, the highest quality designation.".into(),
reference: Some("ANSI/IESNA LM-63-2019".into()),
},
Question {
id: 2012,
category: Category::IesFormat,
difficulty: Difficulty::Intermediate,
text: "What keyword in an IES file identifies the luminaire manufacturer?".into(),
options: vec!["[MANUFAC]".into(), "[COMPANY]".into(), "[MFG]".into(), "[MANUFACTURER]".into()],
correct_index: 0,
explanation: "The [MANUFAC] keyword identifies the luminaire manufacturer in IES files.".into(),
reference: Some("ANSI/IESNA LM-63".into()),
},
]
}