Running Manager  1.7
API for Running Manager (https://github.com/HWiman-ICONIC/running-manager)
D:/dev/running-manager/TrainingType.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Defines.h>
4 #include <Intensity.h>
5 #include <wx/string.h>
6 #include <vector>
7 
11 struct TrainingType {
16 
25  TrainingType( PTTrainingType type, wxString const &shortName, wxString const &description, wxString const &format );
26 
30  virtual ~TrainingType();
31 
37  bool Create( wxString const &format );
38 
39  wxString shortName;
40  wxString description;
42  std::vector<IntensityPtr> intensity;
43 };
44 
46  TrainingType(NONE, _("Rest"), _("No activity"), wxString("-1")),
47 
48  TrainingType(RR,_("Recovery Run"), _("Zone 1 only. The day after challenging workout.\nAn alternative to a day off. Increases running volume."),
49  wxString("2,\
50  1,1,20.0,-1,\
51  2,1,25.0,-1,\
52  3,1,30.0,-1,\
53  4,1,35.0,-1,\
54  5,1,40.0,-1,\
55  6,1,45.0,-1,\
56  7,1,50.0,-1,\
57  8,1,55.0,-1,\
58  9,1,60.0,-1")),
59 
60  TrainingType(FR,_("Foundation Run"), _("The bread and butter of 80/20 training.\nEnsures that you do enough low intensity running."),
61  wxString("2,\
62  1,1,5,2,10,1,5,-1,\
63  2,1,5,2,15,1,5,-1,\
64  3,1,5,2,20,1,5,-1,\
65  4,1,5,2,25,1,5,-1,\
66  5,1,5,2,30,1,5,-1,\
67  6,1,5,2,35,1,5,-1,\
68  7,1,5,2,40,1,5,-1,\
69  8,1,5,2,45,1,5,-1,\
70  9,1,5,2,50,1,5,-1")),
71 
72  TrainingType(LR,_("Long Run"), _("Extended foundation run. Measured in distance to enforce\nendurance for the entire race distance regardless of training level."),
73  wxString("1,\
74  1,1,1.0,2,4.5,1,0.5,-1,\
75  2,1,1.0,2,5.5,1,0.5,-1,\
76  3,1,1.0,2,6.5,1,0.5,-1,\
77  4,1,1.0,2,7.5,1,0.5,-1,\
78  5,1,1.0,2,8.5,1,0.5,-1,\
79  6,1,1.0,2,9.5,1,0.5,-1,\
80  7,1,1.0,2,10.5,1,0.5,-1,\
81  8,1,1.0,2,11.5,1,0.5,-1,\
82  9,1,1.0,2,12.5,1,0.5,-1,\
83  10,1,1.0,2,13.5,1,0.5,-1,\
84  11,1,1.0,2,14.5,1,0.5,-1,\
85  12,1,1.0,2,15.5,1,0.5,-1,\
86  13,1,1.0,2,16.5,1,0.5,-1,\
87  14,1,1.0,2,17.5,1,0.5,-1,\
88  15,1,1.0,2,18.5,1,0.5,-1")),
89 
90  TrainingType(FFR,_("Fast Finish Run"), _("A relatively short Zone 3 at the end of a foundation\nrun. Provides some quality during base and recovery training."),
91  wxString("2,\
92  1,1,5,2,15,3,5,-1,\
93  2,1,5,2,20,3,5,-1,\
94  3,1,5,2,20,3,10,-1,\
95  4,1,5,2,25,3,10,-1,\
96  5,1,5,2,25,3,12,-1,\
97  6,1,5,2,30,3,12,-1,\
98  7,1,5,2,35,3,12,-1,\
99  8,1,5,2,35,3,15,-1,\
100  9,1,5,2,40,3,15,-1,\
101  10,1,5,2,45,3,15,-1")),
102 
103  TrainingType(TR, _("Tempo Run"), _("Zone 3 with warm up and cool down.\nImproves sustained aggressive speed."),
104  wxString("2,\
105  1,1,5,2,5,3,15,2,5,1,5,-1,\
106  2,1,5,2,5,3,18,2,5,1,5,-1,\
107  3,1,5,2,5,3,20,2,5,1,5,-1,\
108  4,1,5,2,5,3,24,2,5,1,5,-1,\
109  5,1,5,2,5,3,28,2,5,1,5,-1,\
110  6,1,5,2,5,3,30,2,5,1,5,-1,\
111  7,1,5,2,5,3,32,2,5,1,5,-1,\
112  8,1,5,2,5,3,36,2,5,1,5,-1,\
113  9,1,5,2,5,3,40,2,5,1,5,-1,\
114  10,1,5,2,5,3,45,2,5,1,5,-1")),
115 
116  TrainingType(CIR, _("Cruise Interval Run"), _("Multiple long intervals with Zone 1 recoveries.\nAllows more total work than tempo runs."),
117  wxString("2,\
118  1,1,5,2,5,4X,3,5,1,3,1X,2,5,1,5,-1,\
119  2,1,5,2,5,4X,3,8,1,3,1X,2,5,1,5,-1,\
120  3,1,5,2,5,4X,3,10,1,3,1X,2,5,1,5,-1,\
121  4,1,5,2,5,4X,3,12,1,3,1X,2,5,1,5,-1,\
122  5,1,5,2,5,4X,3,15,1,3,1X,2,5,1,5,-1")),
123 
124  TrainingType(LRSP, _("Long Run Speed Play"), _("Short bursts in Zone 3 sprinkled in long run.\nDone late in training cycle to increase fatigue resistance."),
125  wxString("1,\
126  1,1,0.5,2,1,8X,3,0.25,1,0.75,1X,1,0.5,-1,\
127  2,1,0.5,2,1,10X,3,0.25,1,0.75,1X,1,0.5,-1,\
128  3,1,0.5,2,1,12X,3,0.25,1,0.75,1X,1,0.5,-1,\
129  4,1,0.5,2,1,14X,3,0.25,1,0.75,1X,1,0.5,-1,\
130  5,1,0.5,2,1,16X,3,0.25,1,0.75,1X,1,0.5,-1,\
131  6,1,0.5,2,1,18X,3,0.25,1,0.75,1X,1,0.5,-1")),
132 
133  TrainingType(LRFF, _("Long Run Fast Finish"), _("Fast finish at end of long run.\nDone late in training cycle to increase fatigue resistance."),
134  wxString("1,\
135  1,1,0.5,2,8.5,3,1,-1,\
136  2,1,0.5,2,10.5,3,1,-1,\
137  3,1,0.5,2,12,3,1.5,-1,\
138  4,1,0.5,2,14,3,1.5,-1,\
139  5,1,0.5,2,15.5,3,2,-1,\
140  6,1,0.5,2,17.5,3,2,-1")),
141 
142  TrainingType(SPR, _("Speed Play Run"), _("Cross between foundation run and interval run.\nEasier than interval runs."),
143  wxString("2,\
144  1,1,5,2,5,3X,4,2,1,2,1X,1,5,-1,\
145  2,1,5,2,5,5X,5,1,1,2,1X,1,5,-1,\
146  3,1,5,2,5,4X,4,2,1,2,1X,1,5,-1,\
147  4,1,5,2,5,6X,5,1,1,2,1X,1,5,-1,\
148  5,1,5,2,5,5X,4,2,1,2,1X,1,5,-1,\
149  6,1,5,2,5,7X,5,1,1,2,1X,1,5,-1,\
150  7,1,5,2,5,6X,4,2,1,2,1X,1,5,-1,\
151  8,1,5,2,5,8X,5,1,1,2,1X,1,5,-1,\
152  9,1,5,2,5,9X,5,1,1,2,1X,1,5,-1,\
153  10,1,5,2,5,7X,4,2,1,2,1X,1,5,-1,\
154  11,1,5,2,5,10X,5,1,1,2,1X,1,5,-1,\
155  12,1,5,2,5,8X,4,2,1,2,1X,1,5,-1,\
156  13,1,5,2,5,9X,4,2,1,2,1X,1,5,-1,\
157  14,1,5,2,5,12X,5,1,1,2,1X,1,5,-1")),
158 
159  TrainingType(HRR, _("Hill Repetition Run"), _("Short uphill interval runs.\nBridge between base and peak training.\nLess stressful on the legs than interval runs."),
160  wxString("2,\
161  1,1,5,2,5,6X,5,0.5,1,1.5,1X,1,5,-1,\
162  2,1,5,2,5,8X,5,0.5,1,1.5,1X,1,5,-1,\
163  3,1,5,2,5,6X,5,1,1,2,1X,1,5,-1,\
164  4,1,5,2,5,10X,5,0.5,1,1.5,1X,1,5,-1,\
165  5,1,5,2,5,12X,5,0.5,1,1.5,1X,1,5,-1,\
166  6,1,5,2,5,8X,5,1,1,2,1X,1,5,-1,\
167  7,1,5,2,5,6X,5,1.5,1,2.5,1X,1,5,-1,\
168  8,1,5,2,5,10X,5,1,1,2,1X,1,5,-1,\
169  9,1,5,2,5,8X,5,1.5,1,2.5,1X,1,5,-1,\
170  10,1,5,2,5,12X,5,1,1,2,1X,1,5,-1,\
171  11,1,5,2,5,10X,5,1.5,1,2.5,1X,1,5,-1,\
172  12,1,5,2,5,12X,5,0.5,1,1.5,1X,1,5,-1")),
173 
174  TrainingType(SIR, _("Short Interval Run"), _("Intensive short Zone 5 with Zone 1 recoveries.\nEnhances aerobic capacity, fatigue\nresistance and running economy."),
175  wxString("2,\
176  1,1,5,2,5,6X,5,1,1,2,1X,1,5,-1,\
177  2,1,5,2,5,8X,5,1,1,2,1X,1,5,-1,\
178  3,1,5,2,5,6X,5,1.5,1,2.5,1X,1,5,-1,\
179  4,1,5,2,5,10X,5,1,1,2,1X,1,5,-1,\
180  5,1,5,2,5,8X,5,1.5,1,2.5,1X,1,5,-1,\
181  6,1,5,2,5,12X,5,1,1,2,1X,1,5,-1,\
182  7,1,5,2,5,10X,5,1.5,1,2.5,1X,1,5,-1,\
183  8,1,5,2,5,12X,5,1.5,1,2.5,1X,1,5,-1")),
184 
185  TrainingType(LIR, _("Long Interval Run"), _("Zone 4 intervals with Zone 1 recoveries.\nMaximizes high-intensity fatigue resistance.."),
186  wxString("2,\
187  1,1,5,2,5,3X,4,3,1,2,1X,1,5,-1,\
188  2,1,5,2,5,4X,4,3,1,2,1X,1,5,-1,\
189  3,1,5,2,5,3X,4,5,1,3,1X,1,5,-1,\
190  4,1,5,2,5,5X,4,3,1,2,1X,1,5,-1,\
191  5,1,5,2,5,6X,4,3,1,2,1X,1,5,-1,\
192  6,1,5,2,5,4X,4,5,1,3,1X,1,5,-1,\
193  7,1,5,2,5,5X,4,5,1,3,1X,1,5,-1,\
194  8,1,5,2,5,6X,4,5,1,3,1X,1,5,-1,\
195  9,1,5,2,5,7X,4,5,1,3,1X,1,5,-1,\
196  10,1,5,2,5,8X,4,5,1,3,1X,1,5,-1")),
197 
198  TrainingType(MIR, _("Mixed Interval Run"), _("Sharpens the runner up for racing after\nobtaining a solid foundation."),
199  wxString("2,\
200  1,1,5,2,5,5,1,1,2,4,3,1,2,3,5,1,2,4,3,1,2,5,1,1,5,-1,\
201  2,1,5,2,5,5,1.5,1,2,4,5,1,2,3,10,1,2,4,5,1,2,5,1.5,1,5,-1,\
202  3,1,5,2,5,2X,5,1,1,2,2X,4,3,1,2,1X,3,10,1,2,2X,4,3,1,2,2X,5,1,1,2,1X,1,5,-1,\
203  4,1,5,2,5,2X,5,1.5,1,2.5,2X,4,5,1,2,1X,3,10,1,2,2X,4,5,1,2,2X,5,1.5,1,2,1X,1,5,-1")),
204 
205  TrainingType(HM, _("Half Marathon"), _("Competition"),
206  wxString("0,\
207  1,3,21.0975,-1")),
208 
209  TrainingType(M, _("Marathon"), _("Competition"),
210  wxString("0,\
211  1,3,42.195,-1")),
212 
213  TrainingType(KM10, _("10 kilometer competition"), _("Competition"),
214  wxString("0,\
215  1,3,10,-1")),
216 
217  TrainingType(KM5, _("5 kilometer competition"), _("Competition"),
218  wxString("0,\
219  1,3,5,-1")),
220 };
Recovery Run.
Definition: Defines.h:35
5 km
Definition: Defines.h:51
Long run speed play.
Definition: Defines.h:41
Long interval.
Definition: Defines.h:46
Short interval.
Definition: Defines.h:45
Type of training.
Definition: TrainingType.h:11
Marathon.
Definition: Defines.h:49
Hill repetition.
Definition: Defines.h:44
wxString description
Definition: TrainingType.h:40
Long run.
Definition: Defines.h:37
virtual ~TrainingType()
Destructor.
PTTrainingType
Training type.
Definition: Defines.h:33
Speed play.
Definition: Defines.h:43
Cruise interval.
Definition: Defines.h:40
Fast finish run.
Definition: Defines.h:38
Half marathon.
Definition: Defines.h:48
std::vector< IntensityPtr > intensity
Definition: TrainingType.h:42
static TrainingType gTrainingType[]
Definition: TrainingType.h:45
Rst.
Definition: Defines.h:34
PTTrainingType type
Definition: TrainingType.h:41
bool Create(wxString const &format)
Create from format string.
Tempo run.
Definition: Defines.h:39
MIxed interval.
Definition: Defines.h:47
10 km
Definition: Defines.h:50
wxString shortName
Definition: TrainingType.h:39
Long run fast finish.
Definition: Defines.h:42
TrainingType()
Default constructor.
Definition: TrainingType.h:15
Foundation run.
Definition: Defines.h:36