00001 #ifndef __emcClusterContent_h__
00002 #define __emcClusterContent_h__
00003
00004 #include "phool.h"
00005 #include "PHObject.h"
00006
00015 #include <cmath>
00016 #ifndef NAN
00017 static const float NAN = sqrt(-1);
00018 #endif
00019
00020 class emcClusterContent : public PHObject
00021 {
00022 public:
00023
00024
00025
00026 virtual ~emcClusterContent(){}
00027
00029 emcClusterContent* clone(void) const { warning("clone()"); return 0; }
00030
00032 emcClusterContent* create(void) const { warning("create()"); return 0; }
00033
00034
00035
00039 virtual int arm() const { warning("int arm()"); return -1; }
00040
00042 virtual bool canBeMerged() const { return false; }
00043
00049 virtual float chi2() const { warning("float chi2()"); return NAN; }
00050
00057 virtual float corrdispy() const { warning("float corrdispy()"); return NAN; }
00058 virtual float corrdispz() const { warning("float corrdispz()"); return NAN; }
00060
00062 virtual unsigned int cutword() const { warning("unsigned int cutword()"); return 0; }
00063
00106 virtual unsigned int deadmap() const { warning("unsigned int deadmap()"); return 0; }
00107
00112 virtual float dispy() const { warning("float dispy()"); return NAN; }
00113 virtual float dispz() const { warning("float dispz()"); return NAN; }
00115
00118 virtual float dx() const { warning("float dx()"); return NAN; }
00119 virtual float dy() const { warning("float dy()"); return NAN; }
00120 virtual float dz() const { warning("float dz()"); return NAN; }
00122
00123
00124 virtual float e() const { warning("float e()"); return NAN; }
00125
00126
00127 virtual float e9() const { warning("float e9()"); return NAN; }
00128
00129
00130 virtual float ecore() const { warning("float ecore()"); return NAN; }
00131
00132
00133 virtual float ecent() const { warning("float ecent()"); return NAN; }
00134
00136
00137 virtual float etofmin() const { warning("float etofmin()"); return NAN; }
00138 virtual float etofmax() const { warning("float etofmax()"); return NAN; }
00140
00143 virtual bool has_rawtdc() const { return false; }
00144
00148 virtual bool has_yz_cg() const { return false; }
00149
00150
00151
00152 virtual bool has_id() const { return true; }
00153 virtual bool has_pid() const { return true; }
00154 virtual bool has_type() const { return true; }
00155 virtual bool has_Dxyz() const { return true; }
00156 virtual bool has_E9() const { return true; }
00157 virtual bool has_Etofmin() const { return true; }
00158 virtual bool has_Etofmax() const { return true; }
00159 virtual bool has_Quality() const { return true; }
00160 virtual bool has_Phi() const { return true; }
00161 virtual bool has_Theta() const { return true; }
00162 virtual bool has_Tofdisp() const { return true; }
00163 virtual bool has_Tofmin() const { return true; }
00164 virtual bool has_Tofmax() const { return true; }
00165 virtual bool has_Tofcorrmin() const { return true; }
00166 virtual bool has_Tofcorrmax() const { return true; }
00167
00168
00170 virtual int id() const { warning("int id()"); return -1; }
00171
00172 virtual void identify(std::ostream& os=std::cout) const;
00173
00174 virtual int isValid() const;
00175
00176 int isValid(const float f) const;
00177 int isValid(const int i) const;
00178 int isValid(const unsigned int i) const;
00179
00183 virtual bool isMerged() const { return (simfrac()>0 && simfrac()<1.0); }
00184
00187 virtual bool isSimulated() const { return (simfrac()==1.0); }
00188
00194 virtual int iypos() const { warning("int iypos()"); return -1; }
00195 virtual int izpos() const { warning("int izpos()"); return -1; }
00197
00199 virtual float quality() const { warning("float quality()"); return NAN; }
00200
00202 virtual int multiplicity() const { warning("multiplicity()"); return -1; }
00203
00205
00206 virtual float padispy() const { warning("float padispy()"); return NAN; }
00207 virtual float padispz() const { warning("padispz()"); return NAN; }
00209
00215 virtual float partesum(int index) const { warning("float partesum(int index)"); return NAN; }
00216
00218 virtual float prob_photon() const { warning("float prob_photon()"); return NAN; }
00219
00221 virtual float phi() const { warning("float phi()"); return NAN; }
00222
00224 virtual int pid() const { warning("int pid()"); return -1; }
00225
00226 virtual void print(std::ostream& out=std::cout) const;
00227
00228 virtual float rawtdc() const { warning("float rawtdc()"); return NAN; }
00229
00246 virtual int sector() const { warning("int sector()"); return -1; }
00247
00250 virtual float simfrac() const { warning("float simfrac()"); return NAN; }
00251
00255 virtual float tof() const { warning("float tof()"); return NAN; }
00256
00258 virtual float tofcorr() const { warning("float tofcorr()"); return NAN; }
00259
00262 virtual float tofhad() const { warning("float tofhad()"); return NAN; }
00263
00265 virtual float tofdisp() const { warning(""); return NAN; }
00266
00270 virtual float tofmin() const { warning("float tofmin()"); return NAN; }
00271 virtual float tofmax() const { warning("float tofmax()"); return NAN; }
00272 virtual float tofcorrmin() const { warning("float tofcorrmin()"); return NAN; }
00273 virtual float tofcorrmax() const { warning("float tofcorrmax()"); return NAN; }
00275
00277 virtual float theta() const { warning("float theta()"); return NAN; }
00278
00285 virtual int towerid(int index) const { warning("int towerid(int index)"); return -1; }
00286
00290 int twrhit() const { return multiplicity(); }
00291
00293 virtual int type() const { warning("int type()"); return -1; }
00294
00296 virtual unsigned int warnmap() const { warning("unsigned int warnmap()"); return 0; }
00297
00301 virtual float x() const { warning("float x()"); return NAN; }
00302 virtual float y() const { warning("float y()"); return NAN; }
00303 virtual float z() const { warning("float z()"); return NAN; }
00305
00311 virtual float ycg() const { warning("float ycg()"); return NAN; }
00312 virtual float zcg() const { warning("float zcg()"); return NAN; }
00314
00315
00316 virtual short emcpc3 () const {warning("short emcpc3()"); return 0;}
00317 virtual short emcpc3neartrk() const {warning("short emcpc3neartrk()"); return 0;}
00318 virtual float emcpc3dz () const {warning("float emcpc3dz()"); return NAN;}
00319 virtual float emcpc3dphi () const {warning("float emcpc3dphi()"); return NAN;}
00320 virtual short emctrk () const {warning("short emctrk()"); return 0;}
00321 virtual float emctrkdz () const {warning("float emctrkdz()"); return NAN;}
00322 virtual float emctrkdphi () const {warning("float emctrkdphi()"); return NAN;}
00323 virtual float pemctrk () const {warning("float pemctrk()"); return NAN;}
00324 virtual short emctrkquality() const {warning("short emctrkquality()"); return 0;}
00325
00326
00327
00329
00333 virtual void set_arm(int) { warning("set_arm(int)"); }
00334 virtual void set_chi2(float) { warning("set_chi2(float)"); }
00335 virtual void set_corrdisp(float corrdispy, float corrdispz) { warning("set_corrdisp(float corrdispy, float corrdispz)"); }
00336 virtual void set_cutword(unsigned int) { warning("set_cutword(unsigned int)"); }
00337 virtual void set_disp(float dispy, float _dispz) { warning(" void set_disp(float dispy, float _dispz)"); }
00338 virtual void set_dxyz(float dx, float dy, float dz)
00339 { warning("void set_dxyz(float dx, float dy, float dz) "); }
00340 virtual void set_e(float) { warning("void set_e(float)"); }
00341 virtual void set_e9(float) { warning("void set_e9(float)"); }
00342 virtual void set_ecore(float) { warning("set_ecore(float)"); }
00343 virtual void set_ecent(float) { warning("set_ecent(float)"); }
00344 virtual void set_etofmin(float) { warning("set_etofmin(float)"); }
00345 virtual void set_etofmax(float) { warning("set_etofmax(float)"); }
00346 virtual void set_id(int id) { warning("set_id(int id)"); }
00347 virtual void set_ipos(int iy, int iz) { warning("set_ipos(int iy, int iz)"); }
00348 virtual void set_quality(float) { warning("set_quality(float)"); }
00349 virtual void set_maps(unsigned int deadmap, unsigned int warnmap)
00350 { warning("set_maps(unsigned int deadmap, unsigned int warnmap)"); }
00351 virtual void set_multiplicity(int) { warning("set_multiplicity(int)"); }
00352 virtual void set_padisp(float padispy, float padispz)
00353 { warning("set_padisp(float padispy, float padispz)"); }
00354 virtual void set_partesum(int index, float value) { warning("set_partesum(int index, float value)"); }
00355 virtual void set_prob_photon(float) { warning("set_prob_photon(float)"); }
00356 virtual void set_phi(float) { warning("set_phi(float)"); }
00357 virtual void set_pid(int) { warning("set_pid(int)"); }
00358 virtual void set_rawtdc(float) { warning("set_rawtdc(float)"); }
00359 virtual void set_sector(int) { warning("set_sector(int)"); }
00360 virtual void set_simfrac(float) { warning("set_simfrac(float)"); }
00361 virtual void set_tof(float) { warning("set_tof(float)"); }
00362 virtual void set_tofhad(float) { warning("set_tofhad(float) "); }
00363 virtual void set_tofdisp(float) { warning("set_tofdisp(float)"); }
00364 virtual void set_tofmin(float) { warning("set_tofmin(float)"); }
00365 virtual void set_tofmax(float) { warning("set_tofmax(float)"); }
00366 virtual void set_tofcorr(float) { warning("set_tofcorr(float)"); }
00367 virtual void set_tofcorrmin(float) { warning("set_tofcorrmin(float)"); }
00368 virtual void set_tofcorrmax(float) { warning("set_tofcorrmax(float)"); }
00369 virtual void set_theta(float) { warning("set_theta(float)"); }
00370 virtual void set_towerid(int index, int value) { warning("set_towerid(int index, int value)"); }
00371 virtual void set_type(int) { warning("set_type(int)"); }
00372 virtual void set_xyz(float x, float y, float z) { warning("set_xyz(float x, float y, float z)"); }
00373 virtual void set_yz_cg(float ycg, float zcg) { warning("set_yz_cg(float ycg, float zcg)"); }
00374
00375
00376 virtual void set_emcpc3 (short) {warning("set_emcpc3(short)");}
00377 virtual void set_emcpc3neartrk(short) {warning("set_emcpc3neartrk(short)");}
00378 virtual void set_emcpc3dz (float) {warning("set_emcpc3dz(float)");}
00379 virtual void set_emcpc3dphi (float) {warning("set_emcpc3dphi(float)");}
00380 virtual void set_emctrk (short) {warning("set_emctrk(short)");}
00381 virtual void set_emctrkdz (float) {warning("set_emctrkdz(float)");}
00382 virtual void set_emctrkdphi (float) {warning("set_emctrkdphi(float)");}
00383 virtual void set_pemctrk (float) {warning("set_pemctrk(float)");}
00384 virtual void set_emctrkquality(short) {warning("set_emctrkquality(short)");}
00386 void ShutUp(const int i = 1);
00387
00388 virtual void Copy(const emcClusterContent &src);
00389
00390
00391 protected:
00394 emcClusterContent& operator=(const emcClusterContent& rhs);
00395
00396 private:
00397 void warning(const char* field) const;
00398
00399 ClassDef(emcClusterContent,0)
00400
00401 };
00402
00403 inline
00404 std::ostream& operator<<(std::ostream& out, const emcClusterContent& cc)
00405 {
00406 cc.print(out);
00407 return out;
00408 }
00409
00410 #endif