//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Data class to carry information of drifted electrons // in Tpc digitization. Defined at first GEM. // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // Cristoforo Simonetto TUM // //----------------------------------------------------------- #ifndef TPCDRIFTEDELECTRON_HH #define TPCDRIFTEDELECTRON_HH // Base Class Headers ---------------- #include // Collaborating Class Headers ------- // Collaborating Class Declarations -- class TpcPrimaryCluster; class TpcDriftedElectron : public TObject { public: // Constructors/Destructors --------- TpcDriftedElectron(); TpcDriftedElectron(const double X, const double Y, const double T, TpcPrimaryCluster* tpcPClusterp); ~TpcDriftedElectron(){;} // Operators friend bool operator== (const TpcDriftedElectron& lhs, const TpcDriftedElectron& rhs); friend bool operator< (const TpcDriftedElectron& lhs, const TpcDriftedElectron& rhs){return lhs.ft < rhs.ft;} // Accessors ----------------------- double x() const {return fx;} double y() const {return fy;} double t() const {return ft;} double dx() const{return fdx;} double dy() const{return fdy;} double dt() const{return fdt;} unsigned int mcTrackId() const {return fmcTrackId;} unsigned int mcSecId() const {return fmcSecId;} unsigned int mcHitId() const {return fmcHitId;} unsigned int index() const {return findex;} unsigned int primClustId() const {return fPrimClustID;} //TpcPrimaryCluster* tpcPClusterp() const {return ftpcPClusterp;} void addtox(double a) {fx+=a;} void addtoy(double a) {fy+=a;} void addtot(double a) {ft+=a;} void setDx(double a) {fdx=a;} void setDy(double a) {fdy=a;} void setDt(double a) {fdt=a;} void setDist(double a, double b, double c){fdx=a;fdy=b;fdt=c;} void setIndex(unsigned int caindex){findex=caindex;} private: // Private Data Members ------------ double fx; double fy; double ft; double fdx; double fdy; double fdt; //duplication of information, but needed for easy acces when removing pointer unsigned int fmcTrackId; // internal mc id if GEANT is not used unsigned int fmcSecId; // 0 if primary track, else >0 unsigned int fmcHitId; unsigned int fPrimClustID; // id of primary cluster in TClonesArray unsigned int findex; // Private Methods ----------------- public: ClassDef(TpcDriftedElectron,4) }; #endif //-------------------------------------------------------------- // $Log$