MarlinTPC  1.2.0
ElectronCloud.h
1 #ifndef ELECTRONCLOUD_H
2 #define ELECTRONCLOUD_H 1
3 
4 // stl
5 #include <string>
6 
7 // CLHEP
8 #include <CLHEP/Vector/ThreeVector.h>
9 
10 // LCIO
11 #include <UTIL/LCFixedObject.h>
12 #define ElectronCloudNINTVals 2
13 #define ElectronCloudNFLOATVals 0
14 #define ElectronCloudNDOUBLEVals 6
15 
16 namespace CLHEP {
17 
18  class Hep3Vector;
19 }
20 
21 namespace marlintpc {
22 
27 class ElectronCloud : public UTIL::LCFixedObject<ElectronCloudNINTVals, ElectronCloudNFLOATVals, ElectronCloudNDOUBLEVals> {
28 
29 public:
33  ElectronCloud();
34 
35  ElectronCloud(EVENT::LCObject* obj) : UTIL::LCFixedObject<ElectronCloudNINTVals,
36  ElectronCloudNFLOATVals,
37  ElectronCloudNDOUBLEVals>(obj) { }
38 
41  int get_electron_count( void ) const;
42 
45  void set_electron_count( int );
46 
47 
50  double get_x_position( void ) const;
51 
54  void set_x_position( double );
55 
56 
59  double get_y_position( void ) const;
60 
63  void set_y_position( double );
64 
65 
68  double get_z_position( void ) const;
69 
72  void set_z_position( double );
73 
74 
77  double get_time( void ) const;
78 
81  void set_time( double );
82 
83 
86  double get_transverse_stdev( void ) const;
87 
90  void set_transverse_stdev( double );
91 
92 
95  double get_longitudinal_stdev( void ) const;
96 
99  void set_longitudinal_stdev( double );
100 
101 
104  CLHEP::Hep3Vector get_mean_position( void ) const;
105 
108  void set_mean_position( CLHEP::Hep3Vector );
109 
110 
113  int get_cloud_id( void ) const;
114 
117  void set_cloud_id( int );
118 
119 
122  const std::string getTypeName( void ) const;
123 
124 
127  const std::string getDataDescription( void ) const;
128 
129 protected:
130 
131 private:
132 
133 
134 };
135 
136 } // namespace marlintpc
137 
138 #endif // ELECTRONCLOUD_H
double get_x_position(void) const
gets the mean x position
Definition: ElectronCloud.cc:44
CLHEP::Hep3Vector get_mean_position(void) const
gets the mean position of the cloud
Definition: ElectronCloud.cc:134
ElectronCloud()
constructor
Definition: ElectronCloud.cc:16
void set_x_position(double)
sets the mean x position
Definition: ElectronCloud.cc:51
void set_transverse_stdev(double)
sets he transverse diffusion of the electrons in the cloud
Definition: ElectronCloud.cc:111
ElectronCloud : A cloud of electrons.
Definition: ElectronCloud.h:27
double get_longitudinal_stdev(void) const
gets the longitudinal diffusion of the electrons in the cloud
Definition: ElectronCloud.cc:119
double get_y_position(void) const
gets the mean y position
Definition: ElectronCloud.cc:59
double get_z_position(void) const
gets the mean z position
Definition: ElectronCloud.cc:74
void set_longitudinal_stdev(double)
sets he longitudinal diffusion of the electrons in the cloud
Definition: ElectronCloud.cc:126
double get_transverse_stdev(void) const
gets the transverse diffusion of the electrons in the cloud
Definition: ElectronCloud.cc:104
double get_time(void) const
gets the mean time of the cloud
Definition: ElectronCloud.cc:89
int get_electron_count(void) const
gets the number of electrons
Definition: ElectronCloud.cc:29
const std::string getDataDescription(void) const
returns the type of data in the generic object
Definition: ElectronCloud.cc:174
int get_cloud_id(void) const
sets the unique id of this cloud
Definition: ElectronCloud.cc:151
void set_mean_position(CLHEP::Hep3Vector)
sets the mean position of the cloud
Definition: ElectronCloud.cc:141
void set_cloud_id(int)
sets the unique id of this cloud
Definition: ElectronCloud.cc:158
void set_time(double)
sets the mean time of the cloud
Definition: ElectronCloud.cc:96
void set_y_position(double)
sets the mean y position
Definition: ElectronCloud.cc:66
void set_electron_count(int)
sets the number of electrons
Definition: ElectronCloud.cc:36
const std::string getTypeName(void) const
returns the typename of the class
Definition: ElectronCloud.cc:166
void set_z_position(double)
sets the mean z position
Definition: ElectronCloud.cc:81