13 #ifndef MITKPHOTOACOUSTICLIGHTSOURCE_H 14 #define MITKPHOTOACOUSTICLIGHTSOURCE_H 22 #include "itkObject.h" 38 itkFactorylessNewMacro(Self);
41 const std::string XML_TAG_X_ANGLE =
"xAngle";
42 const std::string XML_TAG_Y_ANGLE =
"yAngle";
43 const std::string XML_TAG_PHOTON_DIRECTION =
"PhotonDirection";
44 const std::string XML_TAG_MINIMUM =
"min";
45 const std::string XML_TAG_MAXIMUM =
"max";
46 const std::string XML_TAG_MODE =
"mode";
47 const std::string XML_TAG_ENERGY =
"energy";
48 const std::string XML_TAG_SPAWN_TYPE =
"SpawnType";
49 const std::string XML_TAG_SPAWN_TYPE_POINT =
"POINT";
50 const std::string XML_TAG_SPAWN_TYPE_RECTANGLE =
"RECTANGLE";
51 const std::string XML_TAG_SPAWN_TYPE_CIRCLE =
"CIRCLE";
52 const std::string XML_TAG_X =
"x";
53 const std::string XML_TAG_Y =
"y";
54 const std::string XML_TAG_Z =
"z";
55 const std::string XML_TAG_R =
"r";
56 const std::string XML_TAG_X_LENGTH =
"xLength";
57 const std::string XML_TAG_Y_LENGTH =
"yLength";
58 const std::string XML_TAG_Z_LENGTH =
"zLength";
81 double rnd4,
double rnd5,
double gau1,
double gau2);
89 void ParseAngle(TiXmlElement* direction, std::string angle);
95 itkGetMacro(SpawnLocationX,
double);
97 itkSetMacro(SpawnLocationX,
double);
98 itkGetMacro(SpawnLocationY,
double);
99 itkSetMacro(SpawnLocationY,
double);
100 itkGetMacro(SpawnLocationZ,
double);
102 itkSetMacro(SpawnLocationZ,
double);
104 itkGetMacro(SpawnLocationXLength,
double);
106 itkSetMacro(SpawnLocationXLength,
double);
107 itkGetMacro(SpawnLocationYLength,
double);
108 itkSetMacro(SpawnLocationYLength,
double);
109 itkGetMacro(SpawnLocationZLength,
double);
111 itkSetMacro(SpawnLocationZLength,
double);
113 itkGetMacro(SpawnLocationRadius,
double);
115 itkSetMacro(SpawnLocationRadius,
double);
116 itkGetMacro(Energy,
double);
117 itkSetMacro(Energy,
double);
118 itkGetMacro(AngleXMinimum,
double);
120 itkSetMacro(AngleXMinimum,
double);
122 itkGetMacro(AngleXMaximum,
double);
124 itkSetMacro(AngleXMaximum,
double);
125 itkGetMacro(AngleYMinimum,
double);
126 itkSetMacro(AngleYMinimum,
double);
127 itkGetMacro(AngleYMaximum,
double);
129 itkSetMacro(AngleYMaximum,
double);
136 itkGetMacro(Verbose,
bool);
138 itkSetMacro(Verbose,
bool);
142 const double TWO_PI = 2.0*3.14159265358979323846;
171 void ParsePhotonDirection(TiXmlElement* element);
172 void ParseEnergy(TiXmlElement* element);
173 void ParsePhotonSpawnArea(TiXmlElement* element);
175 TransformResult BoxMuellerTransform(
double u1,
double u2,
double mu,
double sigma);
179 #endif // MITKPHOTOACOUSTICLIGHTSOURCE_H
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkNewMacro2Param(classname, typea, typeb)
DistributionMode m_AngleXMode
The LightSource class The representation of a LightSource.
#define mitkClassMacroItkParent(className, SuperClassName)
double m_SpawnLocationZLength
double m_SpawnLocationRadius
DistributionMode m_AngleYMode
double m_SpawnLocationXLength
#define MITKPHOTOACOUSTICSLIB_EXPORT
double m_SpawnLocationYLength