- Timestamp:
- 06/24/10 15:05:04 (14 years ago)
- Location:
- trunk/MagicSoft
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagicSoft/Mars/Changelog
r9594 r9595 33 33 - changed interpretation from file from radius to diameter 34 34 35 * ceres.cc: 36 - added option --run-number 37 38 * showplot.cc: 39 - set default palette to pretty palette 40 41 * mcorsika/MCorsikaRunHeader.h: 42 - added getter for ViewConeInnerAngle 43 44 * mmc/MMcCorsikaRunHeader.h: 45 - added HasViewCone 46 - added SetViewCone 47 48 * mmc/MMcEvt.cxx, mmc/MMcEvtBasic.h: 49 - moved fPhi and fTheta from MMcEvt to MMcEvtBasic 50 - increased class version number accordingly 51 - moved setter 52 - moved getter 53 - adapted Clean() 54 - adapter copy-constructor 55 56 * mpointing/MPointingDevCalc.cc: 57 - added some comments 58 59 * msim/MSimMMCS.cc: 60 - transfer view cone data 61 - set run-info (run/file-number) according to new scheme 62 - always set MMcEvt::fPhi/fTheta to particle direction 63 35 64 36 65 -
trunk/MagicSoft/Mars/NEWS
r9579 r9595 15 15 objects and TCanvas' but no MStatusArray object has been improved. 16 16 17 * MMcEvt.fPhi and MMcEvt.fTheta have been moved to its base class 18 MMcEvtBasic. Consequently, the direction of the primary shower 19 is not lost in the OriginalMC tree anymore 20 17 21 ;ceres: 18 22 … … 29 33 * The number of photons in the calibration signal is now distributed 30 34 by a possonian instead of a Gauss. 35 36 * implemented new file-naming scheme (corsika run-number is new 37 tranfered to the ceres output as file-number). Therefore a new option 38 has been implemented to set an artificial run-number: 39 ---run-number=12345 31 40 32 41 -
trunk/MagicSoft/Mars/ceres.cc
r9482 r9595 71 71 gLog << " --mode=pedestal Execution mode. Produce either pedestals," << endl; 72 72 gLog << " --mode=calibration calibration data (no input files required) or" << endl; 73 gLog << " --mode=data process data files [default]" << endl; 73 gLog << " --mode=data process data files [default]" << endl << endl; 74 gLog << " --run-number=# Optionally set the run number of the run to simulate" << endl << endl; 74 75 gLog << endl; 75 76 // gLog << " -f: force reading of runheader" << endl; … … 166 167 const TString kOutpath = arg.GetStringAndRemove("--out=", "."); 167 168 169 const Int_t kRunNumber = arg.GetIntAndRemove("--run-number=", -1); 170 168 171 const TString kOpMode = arg.GetStringAndRemove("--mode=", "data"); 169 172 … … 342 345 job.SetMode(opmode); 343 346 job.SetCommandLine(MArgs::GetCommandLine(argc, argv)); 347 job.SetRunNumber(kRunNumber); 348 344 349 // job.SetPathIn(kInpath); // not yet needed 345 350 -
trunk/MagicSoft/Mars/mcorsika/MCorsikaRunHeader.h
r9378 r9595 98 98 Float_t GetMagneticFieldAz() const { return fMagneticFieldAz; } 99 99 100 Float_t GetViewConeInnerAngle() const { return fViewConeInnerAngle; } 100 101 Float_t GetViewConeOuterAngle() const { return fViewConeOuterAngle; } 101 102 Bool_t HasViewCone() const { return fViewConeOuterAngle>0; } -
trunk/MagicSoft/Mars/mpointing/MPointingDevCalc.cc
r9573 r9595 282 282 // New LUTs for M2 283 283 // 284 // [2010-06-14 M. Garcz.] 285 // 286 // New LUTs for M1 287 // 284 288 // 285 289 // Others -
trunk/MagicSoft/Mars/msim/MSimMMCS.cc
r9362 r9595 122 122 mch->SetSpectrum(fRunHeader->GetSlopeSpectrum(), 123 123 fRunHeader->GetEnergyMin(), fRunHeader->GetEnergyMax()); 124 mch->SetViewCone(fRunHeader->GetViewConeInnerAngle(), 125 fRunHeader->GetViewConeOuterAngle()); 124 126 mch->SetReadyToSave(); 125 127 … … 147 149 148 150 // FIXME: Is there a way to write them as LAST entry in the file? 149 rh->Set RunInfo(1, fRunHeader->GetRunNumber(),0);151 rh->SetFileNumber(fRunHeader->GetRunNumber()%1000); 150 152 rh->SetSourceInfo(MMcEvtBasic::GetParticleName(id)); 151 153 rh->SetReadyToSave(); … … 160 162 // -------------------------------------------------------------------------- 161 163 // 164 // We have two scenarios for the ponting: 165 // 166 // 1) Diffuse flux (view cone option) 167 // 168 // Azimuth and Zenith angle are fixed values (min==max). 169 // The diffuse flux is produced in a cone around this angle. 170 // 171 // That means that the telescope orientation is aligned and fixed 172 // along the cone axis. 173 // 174 // To analyse a diffuse flux the source position should be fixed to 175 // the camera center. 176 // In some cases (e.g. training of RF) the source depending parameters 177 // might be needed w.r.t. the real origin of the primary particle. 178 // In this case the primary shower direction is needed. 179 // 180 // 2) Directed flux 181 // 182 // Particles are produced between a min and max Azimuth and Zenith angle. 183 // The telescope axis is either parallel (on source) or off axis 184 // (wobble) to the primary particle direction. 185 // This is used to "fake" the trajectory of the source. 186 // 187 // 3) Flux along a trajectory 188 // 189 // [...] 190 // 162 191 Int_t MSimMMCS::Process() 163 192 { … … 165 194 fMcEvtBasic->SetImpact(fEvtHeader->GetImpact()); 166 195 196 // Pointing direction of the telescope (telescope axis) 167 197 fMcEvtBasic->SetTelescopeTheta(fPointingTel->GetZdRad()); 168 198 fMcEvtBasic->SetTelescopePhi(fPointingTel->GetAzRad()); 169 199 170 fMcEvtBasic->SetReadyToSave(); 171 172 static_cast<MMcEvtBasic&>(*fMcEvt) = *fMcEvtBasic; 173 200 // Direction of primary particle 174 201 // Convert from corsika frame to telescope frame, taking 175 202 // the magnetic field into account: tel = corsika+offset 176 if (fRunHeader->HasViewCone()) 177 { 178 fMcEvt->SetTheta(fPointingTel->GetZdRad()); 179 fMcEvt->SetPhi(fPointingTel->GetAzRad()); 180 } 181 else 182 { 183 fMcEvt->SetTheta(fEvtHeader->GetZd()); 184 fMcEvt->SetPhi(fEvtHeader->GetAz()+fRunHeader->GetMagneticFieldAz()); 185 } 203 fMcEvtBasic->SetParticleTheta(fEvtHeader->GetZd()); 204 fMcEvtBasic->SetParticlePhi(fEvtHeader->GetAz()+fRunHeader->GetMagneticFieldAz()); 205 206 fMcEvtBasic->SetReadyToSave(); 207 208 209 static_cast<MMcEvtBasic&>(*fMcEvt) = *fMcEvtBasic; 210 186 211 187 212 fMcEvt->SetEvtNumber(fEvtHeader->GetEvtNumber()); -
trunk/MagicSoft/Mars/showplot.cc
r9580 r9595 1 1 #include <TROOT.h> 2 2 #include <TClass.h> 3 #include <TStyle.h> 3 4 #include <TGClient.h> 4 5 #include <TRint.h> … … 245 246 return 1; 246 247 } 248 249 gStyle->SetPalette(1, 0); 247 250 248 251 // -
trunk/MagicSoft/include-Classes/MMcFormat/MMcCorsikaRunHeader.h
r9312 r9595 101 101 Float_t GetViewconeAngleOuter() const { return fViewconeAngles[1]; } 102 102 Float_t GetAtmosphericModel() const { return fAtmosphericModel; } 103 Bool_t HasViewCone() const { return fViewconeAngles[1]>0; } 103 104 104 105 Int_t GetNumCT() const { return fNumCT; } … … 113 114 fSlopeSpec=slope; fELowLim=emin; fEUppLim=emax; 114 115 } 116 void SetViewCone(Float_t inner, Float_t outer) 117 { 118 fViewconeAngles[0] = inner; 119 fViewconeAngles[1] = outer; 120 } 121 115 122 116 123 MGeomCorsikaCT &operator[](Int_t i) const; -
trunk/MagicSoft/include-Classes/MMcFormat/MMcEvt.hxx
r9312 r9595 14 14 Float_t fFirstTarget; // [] 15 15 Float_t fZFirstInteraction; // [cm] 16 17 Float_t fTheta; // [rad] Theta angle of event18 Float_t fPhi; // [rad] Phi angle of event (see class description)19 16 20 17 Float_t fCoreD; // [cm] Core d pos … … 72 69 // Getter 73 70 UInt_t GetEvtNumber() const { return fEvtNumber; } //Get Event Number 74 Float_t GetTheta() const { return fTheta; } //Get Theta angle75 Float_t GetPhi() const { return fPhi ; } //Get Phi angle76 71 77 72 Float_t GetCoreX() const { return fCoreX; } //Get Core x pos … … 103 98 104 99 // Setter 105 void SetTheta(Float_t Theta) { fTheta=Theta; } //Set Theta angle106 void SetPhi(Float_t Phi) { fPhi=Phi; } //Set Phi angle107 100 void SetCoreD(Float_t CoreD) { fCoreD=CoreD; } //Set Core d pos 108 101 void SetCoreX(Float_t CoreX) { fCoreX=CoreX; } //Set Core x pos … … 123 116 void Clear(Option_t *opt=NULL); 124 117 125 ClassDef(MMcEvt, 6) //Stores Montecarlo Information of one event (eg. the energy)118 ClassDef(MMcEvt, 7) //Stores Montecarlo Information of one event (eg. the energy) 126 119 }; 127 120 -
trunk/MagicSoft/include-Classes/MMcFormat/MMcEvtBasic.h
r9313 r9595 36 36 Float_t fTelescopePhi; // [rad] 37 37 Float_t fTelescopeTheta; // [rad] 38 38 39 Float_t fTheta; // [rad] Theta angle of event 40 Float_t fPhi; // [rad] Phi angle of event (see class description) 41 39 42 public: 40 43 MMcEvtBasic(); … … 50 53 Float_t GetTelescopePhi() const { return fTelescopePhi; } 51 54 Float_t GetTelescopeTheta() const { return fTelescopeTheta; } 55 56 Float_t GetParticlePhi() const { return fPhi; } 57 Float_t GetParticleTheta() const { return fTheta; } 58 59 //Float_t GetTheta() const { return fTheta; } 60 //Float_t GetPhi() const { return fPhi ; } 52 61 53 62 static TString GetParticleName(Int_t id); … … 78 87 void SetTelescopePhi (Float_t Phi) { fTelescopePhi=Phi; } 79 88 89 void SetParticleTheta(Float_t Theta) { fTheta=Theta; } 90 void SetParticlePhi (Float_t Phi) { fPhi=Phi; } 91 92 //void SetTheta(Float_t Theta) { fTheta=Theta; } //Set Theta angle 93 //void SetPhi(Float_t Phi) { fPhi=Phi; } //Set Phi angle 94 80 95 void Fill(ParticleId_t, Float_t, Float_t, Float_t, Float_t); 81 96 … … 84 99 void Print(Option_t *opt=NULL) const; 85 100 86 ClassDef(MMcEvtBasic, 2) //Stores Basic Montecarlo Information of one event101 ClassDef(MMcEvtBasic, 3) //Stores Basic Montecarlo Information of one event 87 102 88 103 };
Note:
See TracChangeset
for help on using the changeset viewer.