fw4spl
core/fwMedData/include/fwMedData/Series.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2017.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #ifndef __FWMEDDATA_SERIES_HPP__
8 #define __FWMEDDATA_SERIES_HPP__
9 
10 #include "fwMedData/config.hpp"
11 #include "fwMedData/types.hpp"
12 
13 #include <fwData/factory/new.hpp>
14 #include <fwData/Object.hpp>
15 
16 fwCampAutoDeclareDataMacro((fwMedData)(Series), FWMEDDATA_API);
17 
18 namespace fwMedData
19 {
20 
21 class Patient;
22 class Study;
23 class Equipment;
24 
28 class FWMEDDATA_CLASS_API Series : public ::fwData::Object
29 {
30 
31 public:
33 
34  fwCampMakeFriendDataMacro((fwMedData)(Series));
35 
40  FWMEDDATA_API Series(::fwData::Object::Key key);
41 
43  FWMEDDATA_API virtual ~Series();
44 
46  FWMEDDATA_API void shallowCopy( const ::fwData::Object::csptr& _source ) override;
47 
49  FWMEDDATA_API void cachedDeepCopy( const ::fwData::Object::csptr& _source, DeepCopyCacheType& cache ) override;
50 
58  SPTR(::fwMedData::Patient) getPatient() const;
59  void setPatient(const SPTR(::fwMedData::Patient)& val);
65  SPTR(::fwMedData::Study) getStudy() const;
66  void setStudy(const SPTR(::fwMedData::Study)& val);
72  SPTR(::fwMedData::Equipment) getEquipment() const;
73  void setEquipment(const SPTR(::fwMedData::Equipment)& val);
79  const DicomValueType& getInstanceUID () const;
80  void setInstanceUID (const DicomValueType& val);
86  const DicomValueType& getModality () const;
87  void setModality (const DicomValueType& val);
93  const DicomValueType& getDate () const;
94  void setDate (const DicomValueType& val);
100  const DicomValueType& getTime () const;
101  void setTime (const DicomValueType& val);
107  const DicomValueType& getDescription () const;
108  void setDescription (const DicomValueType& val);
114  const DicomValuesType& getPerformingPhysiciansName () const;
115  void setPerformingPhysiciansName (const DicomValuesType& val);
120 protected:
121 
123  SPTR(Patient) m_patient;
124 
126  SPTR(Study) m_study;
127 
129  SPTR(Equipment) m_equipment;
130 
132  DicomValueType m_instanceUID;
133 
135  DicomValueType m_modality;
136 
138  DicomValueType m_date;
139 
141  DicomValueType m_time;
142 
144  DicomValueType m_description;
145 
147  DicomValuesType m_performingPhysiciansName;
148 };
149 
150 //-----------------------------------------------------------------------------
151 
152 inline SPTR(::fwMedData::Patient) Series::getPatient() const
153 {
154  return m_patient;
155 }
156 
157 //-----------------------------------------------------------------------------
158 
159 inline void Series::setPatient(const SPTR(::fwMedData::Patient)& val)
160 {
161  m_patient = val;
162 }
163 
164 //-----------------------------------------------------------------------------
165 
166 inline SPTR(::fwMedData::Study) Series::getStudy() const
167 {
168  return m_study;
169 }
170 
171 //-----------------------------------------------------------------------------
172 
173 inline void Series::setStudy(const SPTR(::fwMedData::Study)& val)
174 {
175  m_study = val;
176 }
177 
178 //-----------------------------------------------------------------------------
179 
180 inline SPTR(::fwMedData::Equipment) Series::getEquipment() const
181 {
182  return m_equipment;
183 }
184 
185 //-----------------------------------------------------------------------------
186 
188 {
189  m_equipment = val;
190 }
191 
192 //-----------------------------------------------------------------------------
193 
194 inline const DicomValueType& Series::getInstanceUID () const
195 {
196  return m_instanceUID;
197 }
198 
199 //-----------------------------------------------------------------------------
200 
201 inline void Series::setInstanceUID (const DicomValueType& val)
202 {
203  m_instanceUID = val;
204 }
205 
206 //-----------------------------------------------------------------------------
207 
208 inline const DicomValueType& Series::getModality () const
209 {
210  return m_modality;
211 }
212 
213 //-----------------------------------------------------------------------------
214 
215 inline void Series::setModality (const DicomValueType& val)
216 {
217  m_modality = val;
218 }
219 
220 //-----------------------------------------------------------------------------
221 
222 inline const DicomValueType& Series::getDate () const
223 {
224  return m_date;
225 }
226 
227 //-----------------------------------------------------------------------------
228 
229 inline void Series::setDate (const DicomValueType& val)
230 {
231  m_date = val;
232 }
233 
234 //-----------------------------------------------------------------------------
235 
236 inline const DicomValueType& Series::getTime () const
237 {
238  return m_time;
239 }
240 
241 //-----------------------------------------------------------------------------
242 
243 inline void Series::setTime (const DicomValueType& val)
244 {
245  m_time = val;
246 }
247 
248 //-----------------------------------------------------------------------------
249 
250 inline const DicomValueType& Series::getDescription () const
251 {
252  return m_description;
253 }
254 
255 //-----------------------------------------------------------------------------
256 
257 inline void Series::setDescription (const DicomValueType& val)
258 {
259  m_description = val;
260 }
261 
262 //-----------------------------------------------------------------------------
263 
264 inline const DicomValuesType& Series::getPerformingPhysiciansName () const
265 {
266  return m_performingPhysiciansName;
267 }
268 
269 //-----------------------------------------------------------------------------
270 
271 inline void Series::setPerformingPhysiciansName (const DicomValuesType& val)
272 {
273  m_performingPhysiciansName = val;
274 }
275 
276 //-----------------------------------------------------------------------------
277 
278 } //end namespace fwMedData
279 
280 #endif // __FWMEDDATA_SERIES_HPP__
281 
#define SPTR(_cls_)
This class contains helper to generate Medical Data (SeriesDB, ImageSeries, ...). ...
#define fwCoreNonInstanciableClassDefinitionsMacro(_classinfo_)
Generate common code for Non Instanciable classes (Interfaces, Abstract classes, ...)
void setDate(const DicomValueType &val)
Date the Series started (0008,0021)
const DicomValueType & getDescription() const
Description of the Series (0008,103E)
Namespace containing medical data.
const DicomValueType & getTime() const
Time the Series started (0008,0031)
Key class used to restrict access to Object construction. See http://www.drdobbs.com/184402053.
void setEquipment(const std::shared_ptr< ::fwMedData::Equipment > &val)
Related Equipment.
const DicomValueType & getModality() const
Type of equipment that originally acquired the data used to create this Series (0008,0060)
void setModality(const DicomValueType &val)
Type of equipment that originally acquired the data used to create this Series (0008,0060)
void setPatient(const std::shared_ptr< ::fwMedData::Patient > &val)
Referring Patient.
const DicomValuesType & getPerformingPhysiciansName() const
Name of the physician(s) administering the Series (0008,1050)
Base class for each data object.
const DicomValueType & getDate() const
Date the Series started (0008,0021)
void setInstanceUID(const DicomValueType &val)
Unique identifier of the Series (0020,000E)
const DicomValueType & getInstanceUID() const
Unique identifier of the Series (0020,000E)
void setStudy(const std::shared_ptr< ::fwMedData::Study > &val)
Referring Study.
void setTime(const DicomValueType &val)
Time the Series started (0008,0031)
void setPerformingPhysiciansName(const DicomValuesType &val)
Name of the physician(s) administering the Series (0008,1050)
void setDescription(const DicomValueType &val)
Description of the Series (0008,103E)