Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BeamType.h

Go to the documentation of this file.
00001 #ifndef BEAM_TYPE_H
00002 #define BEAM_TYPE_H
00003 
00005 //
00006 // BeamType
00007 //
00008 // Enumerate the nominal beam (e.g. pseudo beam) types
00009 //
00010 // Created:  M. Kordosky June 2, 2005
00011 // Modified: R. Hatcher  2006-10-19  - generalize to canonical offline form
00012 //                                     move to Conventions
00013 //
00014 // $Author: bckhouse $ 
00015 //
00016 // $Revision: 1.7 $
00017 // 
00018 // $Name:  $
00019 //
00020 // $Id: BeamType.h,v 1.7 2009/09/04 10:58:05 bckhouse Exp $
00021 //
00022 // NOTE:
00023 //    When a new EBeamType is added various other codes must be updated.
00024 //    The current list includes:
00025 //        BeamDataUtil/BeamMonSpill
00026 //
00028 
00029 #ifndef ROOT_Rtypes
00030 #if !defined(__CINT__) || defined(__MAKECINT__)
00031 #include "Rtypes.h"
00032 #endif
00033 #endif
00034 
00035 namespace BeamType {
00036 
00037   typedef enum EBeamType {
00038       kUnknown,
00039       kInverseE,  // for 1/E beam reweighting
00040 
00041       // normal connonical form is k[h][zzz]z[iii]i
00042       // where [h]   is horn configuration:  L, M, H
00043       //       [zzz] is target position (pull back in cm)
00044       //       [iii] is nominal current (in kA)
00045 
00046       kL000z200i, // true LE (data has a few POTs before target broke)
00047       kL010z185i, // normal "LE"-like running condition (pLE)
00048       kL050z200i,
00049       kL100z200i, // pseudo-medium (pME)
00050       kL200z200i,
00051       kL250z200i, // pseudo-high (pHE)
00052       kUser,
00053       kL010z000i, // "horns off"
00054       kL010z170i, // pLE low current test run
00055       kL010z200i, // pLE high current test run
00056       kL010z185i_lowintensity,
00057       kL010z185i_lowi,
00058       kL010z185i_medi,
00059       kL150z200i, // pseudo-mediumhigh (pMHE)
00060 
00061       // HornOn, discrete intensity (10^11 POTs) MC
00062       kL010z185i_i124,
00063       kL010z185i_i191,
00064       kL010z185i_i213,
00065       kL010z185i_i224,
00066       kL010z185i_i232,
00067       kL010z185i_i243,
00068       kL010z185i_i257,
00069       kL010z185i_i282,
00070       kL010z185i_i303,
00071       kL010z185i_i324,
00072                             
00073       //HornOff, discrete intensity (10^11 POTs) MC
00074       kL010z000i_i209,
00075       kL010z000i_i225,
00076       kL010z000i_i232,
00077       kL010z000i_i259,
00078       kL010z000i_i300,
00079       kL010z000i_i317,
00080       kL010z000i_i326,
00081       kL010z000i_i380,
00082 
00083                             
00084       //pHE, discrete intensity (10^11 POTs) MC
00085       kL250z200i_i100,
00086       kL250z200i_i114,
00087       kL250z200i_i130,
00088       kL250z200i_i152,
00089       kL250z200i_i165,
00090       kL250z200i_i194,
00091       kL250z200i_i232,
00092 
00093       //Reverse Horn Current
00094       kL010z185i_rev,
00095 
00096       // (new values go before this)
00097       kEndOfList,
00098 
00099       // retain old (obsolete) forms
00100       kLE  = kL000z200i,
00101       k010 = kL010z185i,
00102       k050 = kL050z200i,
00103       k100 = kL100z200i,
00104       k200 = kL200z200i,
00105       k250 = kL250z200i,
00106       kME  = k100,  // obsolete (ambiguiously used for pME vs. true-ME)
00107       kHE  = k250   // obsolete (ambiguiously used for pHE vs. true-HE)
00108 
00109   } BeamType_t;
00110  
00111   const Char_t*        AsString(BeamType_t b);
00112   const Char_t*        AsTag(BeamType_t b);
00113   BeamType::BeamType_t TagToEnum(const Char_t* s);
00114   BeamType::BeamType_t FromBeamMon(unsigned int i);
00115 
00116   BeamType::BeamType_t FromZarko(unsigned int izarko);
00117   Int_t                ToZarko(BeamType::BeamType_t);
00118 
00119 }
00120 
00121 #endif

Generated on Mon Feb 15 11:06:25 2010 for loon by  doxygen 1.3.9.1