40 likes | 119 Views
Rene Brun 22 April 2005. Extensions to the Double32_t data type. Double32_t example. The following cases are supported for streaming a Double32_t type depending on the range declaration in the comment field of the data member :. A- Double32_t fNormal;
E N D
Rene Brun 22 April 2005 Extensions to the Double32_t data type
Double32_t example The following cases are supported for streaming a Double32_t type depending on the range declaration in the comment field of the data member: A- Double32_t fNormal; B- Double32_t fTemperature; //[0,100] C- Double32_t fCharge; //[-1,1,2] D- Double32_t fVertex[3]; //[-30,30,10] E Int_t fNsp; Double32_t* fPointValue; //[fNsp][0,3] The range specifier has the general format: [xmin,xmax,nbits] [0,1] [-10,100]; [-pi,pi], [-pi/2,pi/4],[-2pi,2*pi] [-10,100,16] if nbits is not specified, or nbits <2 or nbits>32 it is set to 32
New tutorial: double32.C class DemoDouble32 { Double_t fD64; //reference member with full double precision Double32_t fF32; //saved as a 32 bit Float_t Double32_t fI32; //[0,pi] saved as a 32 bit unsigned int Double32_t fI30; //[0,pi,30] saved as a 30 bit unsigned int Double32_t fI28; //[0,pi,28] saved as a 28 bit unsigned int Double32_t fI26; //[0,pi,26] saved as a 26 bit unsigned int Double32_t fI24; //[0,pi,24] saved as a 24 bit unsigned int Double32_t fI22; //[0,pi,22] saved as a 22 bit unsigned int Double32_t fI20; //[0,pi,20] saved as a 20 bit unsigned int Double32_t fI18; //[0,pi,18] saved as a 18 bit unsigned int Double32_t fI16; //[0,pi,16] saved as a 16 bit unsigned int Double32_t fI14; //[0,pi,14] saved as a 14 bit unsigned int Double32_t fI12; //[0,pi,12] saved as a 12 bit unsigned int Double32_t fI10; //[0,pi,10] saved as a 10 bit unsigned int Double32_t fI8; //[0,pi, 8] saved as a 8 bit unsigned int Double32_t fI6; //[0,pi, 6] saved as a 6 bit unsigned int Double32_t fI4; //[0,pi, 4] saved as a 4 bit unsigned int Double32_t fI2; //[0,pi, 2] saved as a 2 bit unsigned int void DemoDouble32::Set(Double_t ref) { fD64 = fF32 = fI32 = fI30 = fI28 = fI26 = fI24 = fI22 = fI20 = ref; fI18 = fI16 = fI14 = fI12 = fI10 = fI8 = fI6 = fI4 = fI2 = ref; }