-
Notifications
You must be signed in to change notification settings - Fork 0
/
specs.txt
103 lines (74 loc) · 3.8 KB
/
specs.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
********************************
************ Specs *************
**** Monte Carlo simulation ****
********************************
//To be completed
Requirements (In no specific order)
R001. The code should allow to be called with specific parameters
1. for example call a specific collimator size, cup, and kdd location
2. It also allows calling just a collimator and a cup size, hence producing all the kdds
3. If calling just the cup size, then generate all kdds for all collimators
4. If calling just the and outer cup (S,M,L) all the inner cups will be generated, all kdd,
all collimator sizes
R002. Do not overwrite previous results
1. Files should be written in a folder, which contains a time-stamp in its name
2. If the result is needed by other operations (assume this is for example the
phase space file): a copy should be created respecting R002-1, and a second copy
to the predefined location. If the predefined location already contains data,
do not overwrite; move the files to a backup folder
R003. A rough estimate of HDD space calculation before starting the simulation
1. Depending on the way the code is called (number of kdd requested), it should
estimate the amount of HDD required
2. If it detects that not enough space is available: ...
3. Take into account cloud computing usage ...
R004. File transfer
1. When called with a specific flag/argument, the output of the code
should be copied (via FTP?) to a server. Take into account when the
code is used from the 'cloud' (authentication, number of connections etc.)
2. Make sure the destination has enough HDD available
R005. Python interpreter
1. Python 2.7 shall be used.
2. Spyder is the recommended IDE (the commenting style makes it easy to read
the documentation in Spyder)
R100. Maintain a file with all the packages installed on the Linux box
1. Add the package name and instructions on how to install it, even if it
is just "sudo apt-get install NameHere". If a certain sequence or more complicated
steps are required, then please be as verbose as possible
R101. Login credentials
1. The username and password used to login into the Linux box should not change
2. This might be disabled for cloud processing (?)
R102. Virtual box specifications
1. The VM should have at least 4GB of RAM
********************************
*********** History ***********
********************************
2015/05/07
File creation. Contains a few requirements and notes.
Florin Neacsu
2015/05/26
Added R005
Florin Neacsu
********************************
************ Notes *************
********************************
2015/05/07
Please keep this file up to date. It is important that the requirements are updated
periodically (ideally as soon as they are accepted) and we code against a relevant specs
file.
Also please note, that some of the requirements have external references (to Xcision official
documents). This file is maintained and used by the developers.
General notes:
In this file, each indentation level is 2 spaces, no hard tabs.
Try to keep lines length under 100
Requirements range:
000-099: General project ones
100-199: Linux environment related
200-299: Pre MC
300-399: MC
400-499: Post MC
This file could potentially be edited by two users at the same time. Please make sure
you are updating first, then make the edits, then commit. This is probably only needed
when the project is being updated early on, not so much a problem later.
When adding a requirement please make an entry in the history section, specifying the date
and what req. was added. Also, please try to follow the requirement range specified above
when allocating a new number.