added spin rotation angle to the LEM MusrRoot file
This commit is contained in:
parent
765d1a3faf
commit
bf1d8cc96d
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
changes since 0.11.0
|
changes since 0.11.0
|
||||||
===================================
|
===================================
|
||||||
|
NEW 2012-05-22 added spin rotation angle to the LEM MusrRoot file.
|
||||||
NEW 2012-05-12 added dump_header. This is a little program which dumps the
|
NEW 2012-05-12 added dump_header. This is a little program which dumps the
|
||||||
header information of a given muSR data file onto the standard
|
header information of a given muSR data file onto the standard
|
||||||
output. Since dump_header also includes the option of
|
output. Since dump_header also includes the option of
|
||||||
|
@ -519,6 +519,7 @@ PRawRunData::PRawRunData()
|
|||||||
fMuonSource = TString("n/a");
|
fMuonSource = TString("n/a");
|
||||||
fMuonSpecies = TString("n/a");
|
fMuonSpecies = TString("n/a");
|
||||||
fMuonBeamMomentum = PMUSR_UNDEFINED;
|
fMuonBeamMomentum = PMUSR_UNDEFINED;
|
||||||
|
fMuonSpinAngle = PMUSR_UNDEFINED;
|
||||||
fRunName = TString("n/a");
|
fRunName = TString("n/a");
|
||||||
fRunNumber = -1;
|
fRunNumber = -1;
|
||||||
fRunTitle = TString("n/a");
|
fRunTitle = TString("n/a");
|
||||||
|
@ -1472,6 +1472,11 @@ Bool_t PRunDataHandler::ReadRootFile()
|
|||||||
if (ok)
|
if (ok)
|
||||||
runData.SetMuonSource(str);
|
runData.SetMuonSource(str);
|
||||||
|
|
||||||
|
header->Get("RunInfo/Muon Spin Angle", prop, ok);
|
||||||
|
if (ok) {
|
||||||
|
runData.SetMuonSpinAngle(prop.GetValue());
|
||||||
|
}
|
||||||
|
|
||||||
header->Get("RunInfo/Setup", str, ok);
|
header->Get("RunInfo/Setup", str, ok);
|
||||||
if (ok)
|
if (ok)
|
||||||
runData.SetSetup(str);
|
runData.SetSetup(str);
|
||||||
|
@ -190,6 +190,7 @@ int dump_header_root(const string fileName, const string fileFormat)
|
|||||||
*/
|
*/
|
||||||
int dump_header_nexus(const string fileName) {
|
int dump_header_nexus(const string fileName) {
|
||||||
|
|
||||||
|
#ifdef PNEXUS_ENABLED
|
||||||
PNeXus *nxs_file = new PNeXus(fileName.c_str());
|
PNeXus *nxs_file = new PNeXus(fileName.c_str());
|
||||||
|
|
||||||
if (nxs_file->IsValid(false)) {
|
if (nxs_file->IsValid(false)) {
|
||||||
@ -198,6 +199,9 @@ int dump_header_nexus(const string fileName) {
|
|||||||
|
|
||||||
if (nxs_file)
|
if (nxs_file)
|
||||||
delete nxs_file;
|
delete nxs_file;
|
||||||
|
#else
|
||||||
|
cout << endl << "NeXus not enabled, hence the header information cannot be dumped." << endl << endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
1
src/external/MusrRoot/MusrRootLEM.xsd
vendored
1
src/external/MusrRoot/MusrRootLEM.xsd
vendored
@ -125,6 +125,7 @@
|
|||||||
<xs:element name="Moderator_HV" type="TMusrRunPhysicalQuantity"/>
|
<xs:element name="Moderator_HV" type="TMusrRunPhysicalQuantity"/>
|
||||||
<xs:element name="Sample_HV" type="TMusrRunPhysicalQuantity"/>
|
<xs:element name="Sample_HV" type="TMusrRunPhysicalQuantity"/>
|
||||||
<xs:element name="Implantation_Energy" type="TMusrRunPhysicalQuantity"/>
|
<xs:element name="Implantation_Energy" type="TMusrRunPhysicalQuantity"/>
|
||||||
|
<xs:element name="Muon_Spin_Angle" type="TMusrRunPhysicalQuantity"/>
|
||||||
<xs:element name="Cuts" type="TString"/>
|
<xs:element name="Cuts" type="TString"/>
|
||||||
<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/> <!-- here can go any additional stuff you like -->
|
<xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/> <!-- here can go any additional stuff you like -->
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
|
@ -358,6 +358,7 @@ class PRawRunData {
|
|||||||
virtual const TString* GetMuonSource() { return &fMuonSource; }
|
virtual const TString* GetMuonSource() { return &fMuonSource; }
|
||||||
virtual const TString* GetMuonSpecies() { return &fMuonSpecies; }
|
virtual const TString* GetMuonSpecies() { return &fMuonSpecies; }
|
||||||
virtual const Double_t GetMuonBeamMomentum() { return fMuonBeamMomentum; }
|
virtual const Double_t GetMuonBeamMomentum() { return fMuonBeamMomentum; }
|
||||||
|
virtual const Double_t GetMuonSpinAngle() { return fMuonSpinAngle; }
|
||||||
virtual const Int_t GetRunNumber() { return fRunNumber; }
|
virtual const Int_t GetRunNumber() { return fRunNumber; }
|
||||||
virtual const TString* GetRunTitle() { return &fRunTitle; }
|
virtual const TString* GetRunTitle() { return &fRunTitle; }
|
||||||
virtual const TString* GetSetup() { return &fSetup; }
|
virtual const TString* GetSetup() { return &fSetup; }
|
||||||
@ -404,6 +405,7 @@ class PRawRunData {
|
|||||||
virtual void SetMuonSource(const TString &str) { fMuonSource = str; }
|
virtual void SetMuonSource(const TString &str) { fMuonSource = str; }
|
||||||
virtual void SetMuonSpecies(const TString &str) { fMuonSpecies = str; }
|
virtual void SetMuonSpecies(const TString &str) { fMuonSpecies = str; }
|
||||||
virtual void SetMuonBeamMomentum(const Double_t dval) { fMuonBeamMomentum = dval; }
|
virtual void SetMuonBeamMomentum(const Double_t dval) { fMuonBeamMomentum = dval; }
|
||||||
|
virtual void SetMuonSpinAngle(const Double_t dval) { fMuonSpinAngle = dval; }
|
||||||
virtual void SetRunName(const TString &str) { fRunName = str; }
|
virtual void SetRunName(const TString &str) { fRunName = str; }
|
||||||
virtual void SetRunNumber(const Int_t &val) { fRunNumber = val; }
|
virtual void SetRunNumber(const Int_t &val) { fRunNumber = val; }
|
||||||
virtual void SetRunTitle(const TString str) { fRunTitle = str; }
|
virtual void SetRunTitle(const TString str) { fRunTitle = str; }
|
||||||
@ -444,6 +446,7 @@ class PRawRunData {
|
|||||||
TString fMuonSource; ///< keeps the type of muon source, e.g. continous surface beam, pulsed beam, low energy muon beam
|
TString fMuonSource; ///< keeps the type of muon source, e.g. continous surface beam, pulsed beam, low energy muon beam
|
||||||
TString fMuonSpecies; ///< positive muon or negative muon
|
TString fMuonSpecies; ///< positive muon or negative muon
|
||||||
Double_t fMuonBeamMomentum; ///< given in MeV/c, for LEM this is the momentum of the secondary beamline and NOT the momentum of the low energy beam
|
Double_t fMuonBeamMomentum; ///< given in MeV/c, for LEM this is the momentum of the secondary beamline and NOT the momentum of the low energy beam
|
||||||
|
Double_t fMuonSpinAngle; ///< gives the muon spin angle in degrees (reference frame depends on the instrument)
|
||||||
TString fRunName; ///< name of the run as found in the msr-file
|
TString fRunName; ///< name of the run as found in the msr-file
|
||||||
Int_t fRunNumber; ///< run number
|
Int_t fRunNumber; ///< run number
|
||||||
TString fRunTitle; ///< run title
|
TString fRunTitle; ///< run title
|
||||||
|
Loading…
x
Reference in New Issue
Block a user