//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Mickey Mouse MC for testing the ref stuff // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Felix Boehmer (original author) // Physik Department E18, TUM // //----------------------------------------------------------- #ifndef MICKEYMC_HH #define MICKEYMC_HH #include "FairTask.h" #include "TString.h" #include class TClonesArray; class TpcCluster; class CdcTrack; class TRandom; class AbsTpcMMDistortion; class TpcMickeyMouseMCTask : public FairTask { public: TpcMickeyMouseMCTask(); ~TpcMickeyMouseMCTask(); void SetPersistence(Bool_t opt=kTRUE) {fPersistence=opt;} void SetClusterOutBranch(const TString& s) {fClusterOutBranch=s;} void SetTrackOutBranch(const TString& s) {fTrackOutBranch=s;} void SetRadInterval(double rmin, double rmax) {fRMin=rmin; fRMax=rmax;} void SetMeanClustDist(double m) {fMeanClDist=m;} void SetNMaxTracks(unsigned int n) {fMaxTracks=n;} void SetRandomSmear(double x, double y, double z) {fSigRandX = x; fSigRandY = y; fSigRandZ = z;} void SetGlobRotationAngle(double angRad) {fGlobRot=angRad;} // (rad) //task has no ownership over distorters void AddDistorter(AbsTpcMMDistortion* d) {fDistorters.push_back(d);} void ClearDistorters() {fDistorters.clear();} void SetSeed(int seed) {fSeed = seed;} // Methods virtual InitStatus Init(); virtual void Exec(Option_t* opt); virtual void SetParContainers() {;} private: TString fClusterOutBranch; TString fTrackOutBranch; TClonesArray* fClusterOut; TClonesArray* fTrackOut; Bool_t fPersistence; unsigned int fSeed; unsigned fMaxTracks; double fRMin, fRMax; double fMeanClDist; double fSigRandX,fSigRandY,fSigRandZ; double fGlobRot; std::vector fTracks; std::vector fClusters; std::vector fDistorters; TRandom* fRand; public: ClassDef(TpcMickeyMouseMCTask,1) }; #endif