![]() |
Reference Documentation |
Inheritance diagram for P_Histo_3D< T_Life, T_Bin, T_Point_X, T_Partition_X, T_Point_Y, T_Partition_Y, T_Point_Z, T_Partition_Z >:
in-range bins {(0,0,0),...(n-1,m-1,p-1)}
PLUS
2*n + 2*m + 2*p detailed overflow/underflow bins , two for each slice
PLUS
dim()*dim()*(dim()-1) general out-of-range bins corresponding to the sum of the detailed OVR/UND bins along the six sides and 12 edges of the histogram.
This enforces similarity to the detailed underflow/overflow information kept by HBOOK but still preserves summary OVR/UND info to keep the I_Histo::extra_bin() interface method valid.
The detailed layout is:
|in-range-bins|detailed OVR/UND|dummy OVR/UND|
The detailed OVR/UND info is stored with this layout:
Six faces : |(U,I,I),(O,I,I),(I,U,I),(I,O,I),(I,I,U),(I,I,O)|
Twelve edges : |(UUI),(OUI),(UOI),(OOI),(IUU),(IOU),(IUO),(IOO),(UIU),(OIU),(UIO),(OIO)|
Eigth corners: |(UUU),(OUU),(UOU),(OOU),(UUO),(OUO),(UOO),(OOO)|
(O->Overflow, U->Underflow, I->in-range).
The dummy bins correspond to the six faces first, then the twelve edges. They're just used as cache to return back the sum of the detailed OVR/UND info.
Definition at line 59 of file P_Histo_3D.ddl.
Public Types | |
typedef P_Histo_3D< T_Life, T_Bin, T_Point_X, T_Partition_X, T_Point_Y, T_Partition_Y, T_Point_Z, T_Partition_Z > | Like_Current |
Convenience typedef to current type. | |
typedef T_Bin | Bin_Type |
typedef T_Partition_X | Partition_X_Type |
typedef T_Partition_Y | Partition_Y_Type |
typedef T_Partition_Z | Partition_Z_Type |
typedef T_Partition_X::Mapped_Point | Mapped_Point_X |
typedef T_Partition_Y::Mapped_Point | Mapped_Point_Y |
typedef T_Partition_Z::Mapped_Point | Mapped_Point_Z |
Public Methods | |
H_IID_IMPLEMENT (P_Histo_3D) | |
Very simple RTTI feature. | |
typedef | H_P_REF (Like_Current) Ref_Like_Current |
virtual | ~P_Histo_3D () |
P_Histo_3D (const char *a_name, const T_Partition_X &a_partition_X, const T_Partition_Y &a_partition_Y, const T_Partition_Z &a_partition_Z) | |
Construct a histo with the name a_name. | |
P_Histo_3D (I_Histo &a_histo, int copy_data=1) | |
Copy constructor with the option to have the structure copied only or to have both structure and data copied. | |
P_Histo_3D (const I_Histo &a_histo, int copy_data=1) | |
Copy constructor with the option to have the structure copied only or to have both structure and data copied (const version) . | |
virtual const char * | name () const |
Name/Title attached to this histogram. | |
virtual void | set_name (const char *a_name) |
Attach a name a_name to this histogram. | |
virtual I_Bin & | i_bin (I_Bin_Location &a_location) |
In-range bin associated with location a_location. | |
virtual I_Bin & | i_bin (I_Bin_Location &a_location) const |
In-range bin associated with location a_location (const version). | |
virtual I_Bin & | i_extra_bin (I_Extra_Bin_Location &a_location) |
Extra bin associated with extra location a_location. | |
virtual I_Bin & | i_extra_bin (I_Extra_Bin_Location &a_location) const |
Extra bin associated with extra location a_location (const version). | |
virtual I_Bin & | i_any_bin (I_Bin_Location &a_location) const |
Any bin associated with location a_location (const version). | |
virtual Size | bin_count () const |
Number of in-range bins. | |
virtual I_Partition & | i_partition (Index p) |
(Elementary) Partition interface associated with this histo. | |
virtual I_Partition & | i_partition (Index p) const |
(Elementary) Partition interface associated with this histo (const version). | |
virtual I_Bin & | i_bin (Index i) |
Retrieve any bin (in-range or extra) whose index is i. | |
virtual I_Bin & | i_bin (Index i) const |
Retrieve any bin (in-range or extra) whose index is i. | |
virtual void | reset () |
Reset histograms content. | |
T_Partition_X & | partition_X () |
First (Elementary) Partition associated with this histo. | |
T_Partition_Y & | partition_Y () |
Second (Elementary) Partition associated with this histo. | |
T_Partition_Z & | partition_Z () |
Third (Elementary) Partition associated with this histo. | |
T_Partition_X & | partition_X () const |
First (Elementary) Partition associated with this histo (const version). | |
T_Partition_Y & | partition_Y () const |
Second (Elementary) Partition associated with this histo (const version). | |
T_Partition_Z & | partition_Z () const |
Third (Elementary) Partition associated with this histo (const version). | |
T_Bin & | mapped_bin (T_Point_X x, T_Point_Y y, T_Point_Z z) |
Bin that is mapped/associated with point ( x ,y ,z). | |
T_Bin & | bin (Index i, Index j, Index k, int updateBin=1) |
In-range bin associated with index ( i , j , k ). | |
T_Bin & | bin (Index i, Index j, Index k) const |
In-range bin associated with index ( i , j , k). | |
T_Bin & | extra_bin (Extra_Index an_ei, Extra_Index an_ej, Extra_Index an_ek, int updateBin=1) |
Extra bin associated with extra index: ( an_ei , an_ej , an_ek). | |
T_Bin & | extra_bin (Extra_Index an_ei, Extra_Index an_ej, Extra_Index an_ek) const |
Extra bin associated with extra index ( an_ei , an_ej , an_ek) (const version). | |
bool | is_in_range (Extra_Index an_ei, Extra_Index an_ej, Extra_Index an_ek) const |
True if extra index ( an_extra_i , an_extra_j ,an_ek) should map an in range bin. | |
T_Bin & | _bin (Index i) |
Ref_Like_Current | clone (int copy_data=1) |
Make a clone of the structure of this histo. | |
Ref_Like_Current | clone (H_P_CLUSTER1(a_place), int copy_data=1) |
Clone with clustering hint. | |
Ref_Like_Current | add (const Ref_Like_Current &other) |
Add other histo to this one and return the result. | |
void | add (const I_Histo &other) |
Add other histo to current histo. | |
Ref_Like_Current | sub (const Ref_Like_Current &other) |
Subtract other histo from current histo and return a handle to this histo. | |
void | sub (const I_Histo &other) |
Substract other histo from current histo. | |
Ref_Like_Current | mul (const Ref_Like_Current &other) |
Multiply current histo by other histo and return a handle to this histo. | |
void | mul (const I_Histo &other) |
Multiply current histo by other histo. | |
Ref_Like_Current | div (const Ref_Like_Current &other) |
Divide current histo by other histo and return a handle to this histo. | |
void | div (const I_Histo &other) |
Divide current histo by other histo. | |
Ref_Like_Current | binomial_div (const Ref_Like_Current &other) |
Do binomial division of current histo by other histo and return a handle to this histo. | |
void | binomial_div (const I_Histo &other) |
Do binomial division of current histo by other histo. | |
void | add (double x) |
Add scalar to current histo. | |
void | sub (double x) |
Subtract scalar from current histo. | |
void | mul (double x) |
Multiply current histo by scalar . | |
void | div (double x) |
Divide current histo by scalar. | |
virtual void | start_update () |
Protected Methods | |
P_Histo_3D () | |
virtual P_REF_I_Histo | clone_ (int copy_data=1) |
virtual P_REF_I_Histo | clone_ (H_P_CLUSTER1(a_place), int copy_data=1) |
virtual void | add_ (const I_Histo &other) |
virtual P_REF_I_Histo | add1_ (const I_Histo &other) |
virtual void | sub_ (const I_Histo &other) |
virtual P_REF_I_Histo | sub1_ (const I_Histo &other) |
virtual void | mul_ (const I_Histo &other) |
virtual P_REF_I_Histo | mul1_ (const I_Histo &other) |
virtual void | div_ (const I_Histo &other) |
virtual P_REF_I_Histo | div1_ (const I_Histo &other) |
virtual void | binomial_div_ (const I_Histo &other) |
virtual P_REF_I_Histo | binomial_div1_ (const I_Histo &other) |
virtual void | add_ (double x) |
virtual void | sub_ (double x) |
virtual void | mul_ (double x) |
virtual void | div_ (double x) |
bool | compatiblePartitions (const I_Histo &other, const char *oper) |
void | compute_ (const I_Histo &other, binHistoOp &oper) |
void | compute_ (double value, binScalarOp &oper) |
Index | realOutRange (Extra_Index ei, Extra_Index ej, Extra_Index ek, Index ni, Index nj, Index nk) const |
Index | summaryOUInfo (Extra_Index ei, Extra_Index ej, Extra_Index ek) |
Index | computeSummary (Index which, Index low, Index high) |
void | faceBoundary (Extra_Index an_ei, Extra_Index an_ej, Extra_Index an_ek, Index &low, Index &high) |
void | edgeBoundary (Extra_Index an_ei, Extra_Index an_ej, Extra_Index an_ek, Index &low, Index &high) |
void | update_ () |
Protected Attributes | |
T_Life::S_String | name_ |
ATTRIBUTES. | |
T_Partition_X | partition_X_ |
T_Partition_Y | partition_Y_ |
T_Partition_Z | partition_Z_ |
T_Life::P_Bin_Container | bins_ |
|
Definition at line 70 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 66 of file P_Histo_3D.ddl. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::clone(). |
|
Definition at line 79 of file P_Histo_3D.ddl. |
|
Definition at line 80 of file P_Histo_3D.ddl. |
|
Definition at line 81 of file P_Histo_3D.ddl. |
|
Definition at line 71 of file P_Histo_3D.ddl. |
|
Definition at line 72 of file P_Histo_3D.ddl. |
|
Definition at line 73 of file P_Histo_3D.ddl. |
|
Definition at line 85 of file P_Histo_3D.ddl. |
|
Definition at line 87 of file P_Histo_3D.ddl. |
|
Note: a_partition_* must be able to map points of type T_Point_*. |
|
Persistent histos can thus be created out of a histo interface (the actual source histo can be transient or persistent. Notice that it is then possible to create a Weighted_Bin histo out of a Profile_Bin histo interface. The user is responsible for it to ensure that it does make sense to create such a new histo. |
|
Persistent histos can thus be created out of a histo interface (the actual source histo can be transient or persistent. Notice that it is then possible to create a Weighted_Bin histo out of a Profile_Bin histo interface. The user is responsible for it to ensure that it does make sense to create such a new histo. |
|
Definition at line 279 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 404 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 322 of file P_Histo_3D.ddl. |
|
Handles are involved. Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 306 of file P_Histo_3D.ddl. |
|
Implements P_I_Histo. |
|
Implements P_I_Histo. |
|
Implements P_I_Histo. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::add(). |
|
Const version.
Definition at line 234 of file P_Histo_3D.ddl. |
|
Definition at line 207 of file P_Histo_3D.ddl. |
|
|
Reimplemented from P_I_Histo_3D. Definition at line 402 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Definition at line 386 of file P_Histo_3D.ddl. |
|
Implements P_I_Histo. |
|
Implements P_I_Histo. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::binomial_div(). |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 292 of file P_Histo_3D.ddl. |
|
Data is also copied when copy_data is not 0 (which is the default behavior). The allocation is done in the same container (if possible) when in persistent case. Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 285 of file P_Histo_3D.ddl. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::clone_(). |
|
Implements P_I_Histo. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 299 of file P_Histo_3D.ddl. |
|
Implements P_I_Histo. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 296 of file P_Histo_3D.ddl. |
|
|
|
|
|
|
|
|
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 410 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 382 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 366 of file P_Histo_3D.ddl. |
|
Implements P_I_Histo. |
|
Implements P_I_Histo. |
|
Implements P_I_Histo. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::div(). |
|
|
|
If the index equals H_IN_RANGE, no meaningful extra bin is associated with this value. |
|
If the index equals H_IN_RANGE, no meaningful extra bin is associated with this value. |
|
|
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. |
|
Reimplemented in P_Histo3D, and P_Histo3DVar. |
|
Location element can be either bin number or one of the constants: { UNDERFLOW_BIN = -2, OVERFLOW_BIN = -1 } according to the AIDA specifications. |
|
Const version. |
|
|
|
The bin interface is returned. |
|
The bin interface is returned. |
|
If the location is in range, no meaningful extra bin is associated with this value. The bin interface is returned. |
|
If the location is in range, no meaningful extra bin is associated with this value. The bin interface is returned. |
|
|
|
|
|
False otherwise. Definition at line 271 of file P_Histo_3D.ddl. |
|
The returned bin can be either an in-range bin or an extra bin. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 408 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 362 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 346 of file P_Histo_3D.ddl. |
|
Implements P_I_Histo. |
|
Implements P_I_Histo. |
|
Implements P_I_Histo. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::mul(). |
|
Definition at line 122 of file P_Histo_3D.ddl. |
|
Definition at line 190 of file P_Histo_3D.ddl. |
|
|
Definition at line 192 of file P_Histo_3D.ddl. |
|
|
Definition at line 194 of file P_Histo_3D.ddl. |
|
|
|
|
|
|
Implements P_I_Histo. Definition at line 125 of file P_Histo_3D.ddl. |
|
Definition at line 445 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 406 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 342 of file P_Histo_3D.ddl. |
|
Reimplemented from P_I_Histo_3D. Reimplemented in P_Histo3D, and P_Histo3DVar. Definition at line 326 of file P_Histo_3D.ddl. |
|
Implements P_I_Histo. |
|
Implements P_I_Histo. |
|
Implements P_I_Histo. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::sub(). |
|
|
|
Definition at line 448 of file P_Histo_3D.ddl. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::set_name(). |
|
|
|
Definition at line 468 of file P_Histo_3D.ddl. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::partition_X(). |
|
Definition at line 470 of file P_Histo_3D.ddl. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::partition_Y(). |
|
Definition at line 472 of file P_Histo_3D.ddl. Referenced by P_Histo_3D< P_Lifetime< Weighted_Bin >, Weighted_Bin, double, Even_Partition, double, Even_Partition, double, Even_Partition >::partition_Z(). |
Anaphe documentation generated by Doxygen (www.doxygen.org) |